Plasma 6.2.2
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=34
This commit is contained in:
commit
ff03f765f7
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
107
0001-Simpler-yet-more-useful-handling-of-KPIPEWIRE_FORCE_.patch
Normal file
107
0001-Simpler-yet-more-useful-handling-of-KPIPEWIRE_FORCE_.patch
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
From a50c28da704fbf8b9e71ec92054f325a33b9765f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
Date: Sat, 6 Jul 2024 16:27:28 +0200
|
||||||
|
Subject: [PATCH 1/2] Simpler yet more useful handling of
|
||||||
|
KPIPEWIRE_FORCE_ENCODER
|
||||||
|
|
||||||
|
Previously, it always overrode the encoder type and profile.
|
||||||
|
|
||||||
|
Now just force a specific encoder by inlining the encoder selection
|
||||||
|
in the switch cases.
|
||||||
|
|
||||||
|
This means it's no longer possible to force a different encoder type
|
||||||
|
than the application requested, but it's arguably not that useful to
|
||||||
|
e.g. force VP9 if the application expects H.264 packets.
|
||||||
|
|
||||||
|
(cherry picked from commit 0c3f8b4f9de7d4dcd24d952184dabdbda74b4c35)
|
||||||
|
---
|
||||||
|
src/pipewireproduce.cpp | 45 +++++++++--------------------------------
|
||||||
|
1 file changed, 9 insertions(+), 36 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/pipewireproduce.cpp b/src/pipewireproduce.cpp
|
||||||
|
index 3452ce9..416bcd3 100644
|
||||||
|
--- a/src/pipewireproduce.cpp
|
||||||
|
+++ b/src/pipewireproduce.cpp
|
||||||
|
@@ -266,46 +266,19 @@ void PipeWireProduce::stateChanged(pw_stream_state state)
|
||||||
|
|
||||||
|
std::unique_ptr<Encoder> PipeWireProduce::makeEncoder()
|
||||||
|
{
|
||||||
|
- auto encoderType = m_encoderType;
|
||||||
|
- bool forceSoftware = false;
|
||||||
|
- bool forceHardware = false;
|
||||||
|
-
|
||||||
|
- if (qEnvironmentVariableIsSet("KPIPEWIRE_FORCE_ENCODER")) {
|
||||||
|
- auto forcedEncoder = qEnvironmentVariable("KPIPEWIRE_FORCE_ENCODER");
|
||||||
|
- if (forcedEncoder == u"libvpx") {
|
||||||
|
- qCWarning(PIPEWIRERECORD_LOGGING) << "Forcing VP8 Software encoding";
|
||||||
|
- encoderType = PipeWireBaseEncodedStream::VP8;
|
||||||
|
- forceSoftware = true;
|
||||||
|
- } else if (forcedEncoder == u"libvpx-vp9") {
|
||||||
|
- qCWarning(PIPEWIRERECORD_LOGGING) << "Forcing VP9 Software encoding";
|
||||||
|
- encoderType = PipeWireBaseEncodedStream::VP9;
|
||||||
|
- forceSoftware = true;
|
||||||
|
- } else if (forcedEncoder == u"libx264") {
|
||||||
|
- qCWarning(PIPEWIRERECORD_LOGGING) << "Forcing H264 Software encoding, main profile";
|
||||||
|
- encoderType = PipeWireBaseEncodedStream::H264Main;
|
||||||
|
- forceSoftware = true;
|
||||||
|
- } else if (forcedEncoder == u"h264_vaapi") {
|
||||||
|
- qCWarning(PIPEWIRERECORD_LOGGING) << "Forcing H264 Hardware encoding, main profile";
|
||||||
|
- encoderType = PipeWireBaseEncodedStream::H264Main;
|
||||||
|
- forceHardware = true;
|
||||||
|
- } else if (forcedEncoder == u"libx264_baseline") {
|
||||||
|
- qCWarning(PIPEWIRERECORD_LOGGING) << "Forcing H264 Software encoding, baseline profile";
|
||||||
|
- encoderType = PipeWireBaseEncodedStream::H264Baseline;
|
||||||
|
- forceSoftware = true;
|
||||||
|
- } else if (forcedEncoder == u"h264_vaapi_baseline") {
|
||||||
|
- qCWarning(PIPEWIRERECORD_LOGGING) << "Forcing H264 Hardware encoding, baseline profile";
|
||||||
|
- encoderType = PipeWireBaseEncodedStream::H264Baseline;
|
||||||
|
- forceHardware = true;
|
||||||
|
- }
|
||||||
|
+ auto forcedEncoder = qEnvironmentVariable("KPIPEWIRE_FORCE_ENCODER");
|
||||||
|
+ if (!forcedEncoder.isNull()) {
|
||||||
|
+ qCWarning(PIPEWIRERECORD_LOGGING) << "Forcing encoder to" << forcedEncoder;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto size = m_stream->size();
|
||||||
|
|
||||||
|
- switch (encoderType) {
|
||||||
|
+ switch (m_encoderType) {
|
||||||
|
case PipeWireBaseEncodedStream::H264Baseline:
|
||||||
|
case PipeWireBaseEncodedStream::H264Main: {
|
||||||
|
auto profile = m_encoderType == PipeWireBaseEncodedStream::H264Baseline ? Encoder::H264Profile::Baseline : Encoder::H264Profile::Main;
|
||||||
|
- if (!forceSoftware) {
|
||||||
|
+
|
||||||
|
+ if (forcedEncoder.isNull() || forcedEncoder == u"h264_vaapi") {
|
||||||
|
auto hardwareEncoder = std::make_unique<H264VAAPIEncoder>(profile, this);
|
||||||
|
hardwareEncoder->setQuality(m_quality);
|
||||||
|
hardwareEncoder->setEncodingPreference(m_encodingPreference);
|
||||||
|
@@ -314,7 +287,7 @@ std::unique_ptr<Encoder> PipeWireProduce::makeEncoder()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (!forceHardware) {
|
||||||
|
+ if (forcedEncoder.isNull() || forcedEncoder == u"libx264") {
|
||||||
|
auto softwareEncoder = std::make_unique<LibX264Encoder>(profile, this);
|
||||||
|
softwareEncoder->setQuality(m_quality);
|
||||||
|
softwareEncoder->setEncodingPreference(m_encodingPreference);
|
||||||
|
@@ -325,7 +298,7 @@ std::unique_ptr<Encoder> PipeWireProduce::makeEncoder()
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case PipeWireBaseEncodedStream::VP8: {
|
||||||
|
- if (!forceHardware) {
|
||||||
|
+ if (forcedEncoder.isNull() || forcedEncoder == u"libvpx") {
|
||||||
|
auto encoder = std::make_unique<LibVpxEncoder>(this);
|
||||||
|
encoder->setQuality(m_quality);
|
||||||
|
if (encoder->initialize(size)) {
|
||||||
|
@@ -335,7 +308,7 @@ std::unique_ptr<Encoder> PipeWireProduce::makeEncoder()
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case PipeWireBaseEncodedStream::VP9: {
|
||||||
|
- if (!forceHardware) {
|
||||||
|
+ if (forcedEncoder.isNull() || forcedEncoder == u"libvpx-vp9") {
|
||||||
|
auto encoder = std::make_unique<LibVpxVp9Encoder>(this);
|
||||||
|
encoder->setQuality(m_quality);
|
||||||
|
if (encoder->initialize(size)) {
|
||||||
|
--
|
||||||
|
2.45.2
|
||||||
|
|
223
0002-Add-encoder-using-libopenh264.patch
Normal file
223
0002-Add-encoder-using-libopenh264.patch
Normal file
@ -0,0 +1,223 @@
|
|||||||
|
From 43ab595c28e031f38bc92bea4cf475de64021958 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
Date: Sat, 6 Jul 2024 16:40:42 +0200
|
||||||
|
Subject: [PATCH 2/2] Add encoder using libopenh264
|
||||||
|
|
||||||
|
On some distributions, libopenh264 is the only encoder available OOTB.
|
||||||
|
Add support for it and use it as fallback.
|
||||||
|
|
||||||
|
BUG: 476187
|
||||||
|
(cherry picked from commit e17793a3b023f26411001093bb2d5934adf715c7)
|
||||||
|
---
|
||||||
|
src/CMakeLists.txt | 1 +
|
||||||
|
src/libopenh264encoder.cpp | 106 ++++++++++++++++++++++++++++++
|
||||||
|
src/libopenh264encoder_p.h | 28 ++++++++
|
||||||
|
src/pipewirebaseencodedstream.cpp | 2 +-
|
||||||
|
src/pipewireproduce.cpp | 11 ++++
|
||||||
|
5 files changed, 147 insertions(+), 1 deletion(-)
|
||||||
|
create mode 100644 src/libopenh264encoder.cpp
|
||||||
|
create mode 100644 src/libopenh264encoder_p.h
|
||||||
|
|
||||||
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||||
|
index e96f52b..3126528 100644
|
||||||
|
--- a/src/CMakeLists.txt
|
||||||
|
+++ b/src/CMakeLists.txt
|
||||||
|
@@ -135,6 +135,7 @@ add_library(KPipeWireRecord ${kpipewirerecord_SRCS}
|
||||||
|
encoder.cpp
|
||||||
|
h264vaapiencoder.cpp
|
||||||
|
libx264encoder.cpp
|
||||||
|
+ libopenh264encoder.cpp
|
||||||
|
libvpxencoder.cpp
|
||||||
|
libvpxvp9encoder.cpp
|
||||||
|
)
|
||||||
|
diff --git a/src/libopenh264encoder.cpp b/src/libopenh264encoder.cpp
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..6d4c6a1
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/libopenh264encoder.cpp
|
||||||
|
@@ -0,0 +1,106 @@
|
||||||
|
+/*
|
||||||
|
+ SPDX-FileCopyrightText: 2023 Aleix Pol Gonzalez <aleixpol@kde.org>
|
||||||
|
+ SPDX-FileCopyrightText: 2023 Marco Martin <mart@kde.org>
|
||||||
|
+ SPDX-FileCopyrightText: 2023 Arjen Hiemstra <ahiemstra@heimr.nl>
|
||||||
|
+ SPDX-FileCopyrightText: 2024 Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
+
|
||||||
|
+ SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
|
||||||
|
+*/
|
||||||
|
+
|
||||||
|
+#include "libopenh264encoder_p.h"
|
||||||
|
+
|
||||||
|
+#include <QSize>
|
||||||
|
+#include <QThread>
|
||||||
|
+
|
||||||
|
+extern "C" {
|
||||||
|
+#include <libavcodec/avcodec.h>
|
||||||
|
+#include <libavfilter/buffersink.h>
|
||||||
|
+#include <libavfilter/buffersrc.h>
|
||||||
|
+#include <libavutil/pixfmt.h>
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+#include "logging_record.h"
|
||||||
|
+
|
||||||
|
+LibOpenH264Encoder::LibOpenH264Encoder(H264Profile profile, PipeWireProduce *produce)
|
||||||
|
+ : SoftwareEncoder(produce)
|
||||||
|
+ , m_profile(profile)
|
||||||
|
+{
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+bool LibOpenH264Encoder::initialize(const QSize &size)
|
||||||
|
+{
|
||||||
|
+ createFilterGraph(size);
|
||||||
|
+
|
||||||
|
+ auto codec = avcodec_find_encoder_by_name("libopenh264");
|
||||||
|
+ if (!codec) {
|
||||||
|
+ qCWarning(PIPEWIRERECORD_LOGGING) << "libopenh264 codec not found";
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ m_avCodecContext = avcodec_alloc_context3(codec);
|
||||||
|
+ if (!m_avCodecContext) {
|
||||||
|
+ qCWarning(PIPEWIRERECORD_LOGGING) << "Could not allocate video codec context";
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ Q_ASSERT(!size.isEmpty());
|
||||||
|
+ m_avCodecContext->width = size.width();
|
||||||
|
+ m_avCodecContext->height = size.height();
|
||||||
|
+ m_avCodecContext->max_b_frames = 0;
|
||||||
|
+ m_avCodecContext->gop_size = 100;
|
||||||
|
+ m_avCodecContext->pix_fmt = AV_PIX_FMT_YUV420P;
|
||||||
|
+ m_avCodecContext->time_base = AVRational{1, 1000};
|
||||||
|
+
|
||||||
|
+ if (m_quality) {
|
||||||
|
+ // "q" here stands for "quantization", but that effectively impacts quality.
|
||||||
|
+ m_avCodecContext->qmin = m_avCodecContext->qmax = percentageToAbsoluteQuality(m_quality);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ switch (m_profile) {
|
||||||
|
+ case H264Profile::Baseline:
|
||||||
|
+ // libopenh264 only does constrained baseline.
|
||||||
|
+ // There's a bug in the ffmpeg -> openh264 interface though:
|
||||||
|
+ // ffmpeg expects CONSTRAINED_BASELINE from the application and
|
||||||
|
+ // 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;
|
||||||
|
+ break;
|
||||||
|
+ case H264Profile::Main:
|
||||||
|
+ m_avCodecContext->profile = FF_PROFILE_H264_MAIN;
|
||||||
|
+ break;
|
||||||
|
+ case H264Profile::High:
|
||||||
|
+ m_avCodecContext->profile = FF_PROFILE_H264_HIGH;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ AVDictionary *options = nullptr;
|
||||||
|
+ av_dict_set_int(&options, "threads", qMin(16, QThread::idealThreadCount()), 0);
|
||||||
|
+ applyEncodingPreference(options);
|
||||||
|
+
|
||||||
|
+ if (int result = avcodec_open2(m_avCodecContext, codec, &options); result < 0) {
|
||||||
|
+ qCWarning(PIPEWIRERECORD_LOGGING) << "Could not open codec" << av_err2str(result);
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return true;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+int LibOpenH264Encoder::percentageToAbsoluteQuality(const std::optional<quint8> &quality)
|
||||||
|
+{
|
||||||
|
+ if (!quality) {
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ // 1-51 (incl.), lower is better
|
||||||
|
+ return 51 - (m_quality.value() / 100.0) * 50;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void LibOpenH264Encoder::applyEncodingPreference(AVDictionary *options)
|
||||||
|
+{
|
||||||
|
+ SoftwareEncoder::applyEncodingPreference(options);
|
||||||
|
+ // Disable motion estimation, not great while dragging windows but speeds up encoding by an order of magnitude
|
||||||
|
+ av_dict_set(&options, "flags", "+mv4", 0);
|
||||||
|
+ // Disable in-loop filtering
|
||||||
|
+ av_dict_set_int(&options, "loopfilter", 0, 0);
|
||||||
|
+}
|
||||||
|
diff --git a/src/libopenh264encoder_p.h b/src/libopenh264encoder_p.h
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..fdacf14
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/libopenh264encoder_p.h
|
||||||
|
@@ -0,0 +1,28 @@
|
||||||
|
+/*
|
||||||
|
+ SPDX-FileCopyrightText: 2023 Aleix Pol Gonzalez <aleixpol@kde.org>
|
||||||
|
+ SPDX-FileCopyrightText: 2023 Marco Martin <mart@kde.org>
|
||||||
|
+ SPDX-FileCopyrightText: 2023 Arjen Hiemstra <ahiemstra@heimr.nl>
|
||||||
|
+ SPDX-FileCopyrightText: 2024 Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
+
|
||||||
|
+ SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
|
||||||
|
+*/
|
||||||
|
+
|
||||||
|
+#include "encoder_p.h"
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * A software encoder that uses ffmpeg + libopenh264 to encode to H.264.
|
||||||
|
+ */
|
||||||
|
+class LibOpenH264Encoder : public SoftwareEncoder
|
||||||
|
+{
|
||||||
|
+public:
|
||||||
|
+ LibOpenH264Encoder(H264Profile profile, PipeWireProduce *produce);
|
||||||
|
+
|
||||||
|
+ bool initialize(const QSize &size) override;
|
||||||
|
+
|
||||||
|
+protected:
|
||||||
|
+ int percentageToAbsoluteQuality(const std::optional<quint8> &quality) override;
|
||||||
|
+ void applyEncodingPreference(AVDictionary *options) override;
|
||||||
|
+
|
||||||
|
+private:
|
||||||
|
+ H264Profile m_profile = H264Profile::Main;
|
||||||
|
+};
|
||||||
|
diff --git a/src/pipewirebaseencodedstream.cpp b/src/pipewirebaseencodedstream.cpp
|
||||||
|
index 553c334..814d8d9 100644
|
||||||
|
--- a/src/pipewirebaseencodedstream.cpp
|
||||||
|
+++ b/src/pipewirebaseencodedstream.cpp
|
||||||
|
@@ -225,7 +225,7 @@ QList<PipeWireBaseEncodedStream::Encoder> PipeWireBaseEncodedStream::suggestedEn
|
||||||
|
&& avcodec_find_encoder_by_name("h264_vaapi")) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
- return !avcodec_find_encoder_by_name("libx264");
|
||||||
|
+ return !(avcodec_find_encoder_by_name("libx264") || avcodec_find_encoder_by_name("libopenh264"));
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return true;
|
||||||
|
diff --git a/src/pipewireproduce.cpp b/src/pipewireproduce.cpp
|
||||||
|
index 416bcd3..52594e6 100644
|
||||||
|
--- a/src/pipewireproduce.cpp
|
||||||
|
+++ b/src/pipewireproduce.cpp
|
||||||
|
@@ -16,6 +16,7 @@
|
||||||
|
#include <qstringliteral.h>
|
||||||
|
|
||||||
|
#include "h264vaapiencoder_p.h"
|
||||||
|
+#include "libopenh264encoder_p.h"
|
||||||
|
#include "libvpxencoder_p.h"
|
||||||
|
#include "libvpxvp9encoder_p.h"
|
||||||
|
#include "libx264encoder_p.h"
|
||||||
|
@@ -295,6 +296,16 @@ std::unique_ptr<Encoder> PipeWireProduce::makeEncoder()
|
||||||
|
return softwareEncoder;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ // Try libopenh264 last, it's slower and has less features.
|
||||||
|
+ if (forcedEncoder.isNull() || forcedEncoder == u"libopenh264") {
|
||||||
|
+ auto softwareEncoder = std::make_unique<LibOpenH264Encoder>(profile, this);
|
||||||
|
+ softwareEncoder->setQuality(m_quality);
|
||||||
|
+ softwareEncoder->setEncodingPreference(m_encodingPreference);
|
||||||
|
+ if (softwareEncoder->initialize(size)) {
|
||||||
|
+ return softwareEncoder;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case PipeWireBaseEncodedStream::VP8: {
|
||||||
|
--
|
||||||
|
2.45.2
|
||||||
|
|
3
kpipewire-6.1.3.tar.xz
Normal file
3
kpipewire-6.1.3.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:eb2217024e3bf3a4777548b9a0bda88ca0b97912d20336b03f5942b28b1baef9
|
||||||
|
size 148504
|
16
kpipewire-6.1.3.tar.xz.sig
Normal file
16
kpipewire-6.1.3.tar.xz.sig
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAmaWVKcACgkQ11dEg7tX
|
||||||
|
sY0bnA/9FAl4Ym/986mF3V5rW/z7SACdBUSd/PivMDigDVRedzYuAe2oR87e2paO
|
||||||
|
UO51vAEGjXZEeNk9X2jUd/nYXda/EtwjWHMxxHsnzgb5kpIvA7vZ+9tE5FCNUbRy
|
||||||
|
9EWMf2OId/INCsSh6RH6iLmiuoUa7jtdJ2cAvx5AxSGfYxjHj3YAoWk77zDAxhy4
|
||||||
|
bZzY0+5fgYCcT8xbSUeGiRscXIw/G6Q8boOOqACyeJCD7mESOB4BtziF6RL4r05i
|
||||||
|
EBMeuutUDTK1//bu6Y4MaEKx1bPrawR6RQeFocW4Pgp2hKiPTRuWMy8e+7OjTvb1
|
||||||
|
cfQlEqOEVtyWKAD5uSCCif+yCqdFkSXXpo9vNXpKjBnMlyXASFLM7jN8TIm7HcQo
|
||||||
|
FqPaHstaOaOOQ33om5PjLsSNEzV/MSv2SQ6aA0CbglJxBm5okfLuYb/Vuaid4iPD
|
||||||
|
LV5eySGagfmI+LS/SGUTbNC499+cFCnWB0XziYbbW0mxQWfBe25Yxk4LXMzSYFIH
|
||||||
|
WZE3MUgKbPRrRL4/VGdrD2eBGCt7p2xlLEdmTSVJ0AIHfKoaIC8hmDoy3N8L8S7Q
|
||||||
|
IS9Qf95EASBc0/aDbY7o1JQuKjR8VnDvE8ooBtBnW9sObnDSJhWYpi8fOr1ZhWvW
|
||||||
|
RKDnX/B6rWkIVqG7rZLUcpXwrnQjAdnO5B3NAwn7Eo7/vt0OFdY=
|
||||||
|
=9kTE
|
||||||
|
-----END PGP SIGNATURE-----
|
3
kpipewire-6.1.4.tar.xz
Normal file
3
kpipewire-6.1.4.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ab116d56fd8a6b36da6b595f597cf4383d8ed171f8e625dca67b7a4645337134
|
||||||
|
size 148980
|
16
kpipewire-6.1.4.tar.xz.sig
Normal file
16
kpipewire-6.1.4.tar.xz.sig
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAmayGCUACgkQ11dEg7tX
|
||||||
|
sY1swQ/8CARXuUAQxMDLs5tkDTk9RZudSLocHQKgAi8JIIWh6uGHcn9fcVfM5nsA
|
||||||
|
ml/esuTG3eWz3ezqGQqzWLWinSPDvsWnpS6fiBE2aBWIHaFLI5RObtpjYtY0Dfpc
|
||||||
|
YruJx6WbnHWIzdUN4bls5dPwL0Josg0Uu/gAL46bAHY6+PprHEJnOZkmJAs9GOJE
|
||||||
|
PAnoWotE+2wrACd0BP+LzXzn/EcfGVx0SmLSiL581zbFWRYyb7H/nFNnkq1HZDMy
|
||||||
|
V+x2Gg8va6Ft3LKDoLZlil3oEfr76pDv+NQKesaOrGtu4YWcjSBUWmyMErLDjk9k
|
||||||
|
gd7gQfxAJQ1he6z4ueJc3Zx/aAir8VxXAb1xIluHLlclLqZSIsHZA4Izg7SNqeju
|
||||||
|
G4eO9h6ap9Ttvz0z8mB0XfvZLpGlXteAkBEZ4iG5skj/r3G97cSu9onLNznMKA7A
|
||||||
|
P0vT1Px+qye45wz3AZkQMsUkZ332MPTdnazxP7dyK5hHw8p1TtRaP9BwDp/QZisP
|
||||||
|
DYEJtjGpMDjOlV/bSG5otDcJ/ykvDF1AVSw1iBNKJY1Mcrl1bmmrVl89A+duR2sS
|
||||||
|
PAGw9ye1euFubA4pUo5hz9DrDKaAOCeWQB2eSZvkHfbVbPbFx/hhsbLRmv8rOvVp
|
||||||
|
hxeSooNYuCWQNp3CUD6DzBIreIbsiBvmdY+aRvFaUe/o80cEx9g=
|
||||||
|
=03/q
|
||||||
|
-----END PGP SIGNATURE-----
|
3
kpipewire-6.1.5.tar.xz
Normal file
3
kpipewire-6.1.5.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:25b32cfcaff352f0c4acda5746adffd2e3b28b5ff0648521bde8628ca7145a49
|
||||||
|
size 149096
|
16
kpipewire-6.1.5.tar.xz.sig
Normal file
16
kpipewire-6.1.5.tar.xz.sig
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAmbgCFcACgkQ11dEg7tX
|
||||||
|
sY1ypg/+LX5uzdfEqBbZQNtyl7selXiGGlWlwqgB0zbVhLI4KawapP0zU1YTgQtQ
|
||||||
|
eVjHBF9TdRyN3JgEKeDhAeKxchIau0n7/VNugvLLlyB93vC4Qmg6Dy7szIuiLoIa
|
||||||
|
tWycxAaPaaF+LLx+WHwYG4ymgWvzkh0+7dYoWn4EBwfrqhqB8ijJexWYawgqEiVh
|
||||||
|
FdkFiOGPLZ8nbwCkvYFFkxv9cfHmCO4nZpHrfekp8vvSsGY9sngvvjhHc+Uf0eU8
|
||||||
|
Q7Onyro768isRP+pPsifZwjLS1JvdMIKHt3+gC9/MTLXsc2kyBSNnlVGFT+JAV6A
|
||||||
|
fdMt3AuuBeVVJPJ11TiawefjR1KCSh8jdeHNsBmszBvpXTuAcC2pbEF22KOwau7W
|
||||||
|
qBU15RYl1g9DRL/0h0XzTDHjOdi+IQOmui1ZrO1vNrw+uxA+Zo7dPBSbf7ex4E33
|
||||||
|
AEgzQrDiZgk+DBPC3opIl1W4IB1kf+FTu1azqCT5DFR3S5QEA7vLbidaV8T2VGH9
|
||||||
|
EE0eZEiGBeKrzj7O8KpclRL2IDuBsBfEQoSiDQU34Pk2Q9Vw9HvL2Au/j/tBzc67
|
||||||
|
OT//ng3QXjK/rl2iw9Bj6WZfLODiRGE1edQ79nxfJHZpIl+HTubQxDtlDOQ3bYOd
|
||||||
|
lqQiy0KgupZ19xbH9BnLrgeEzQM0rp4xgr78rEEcJOQIPOc6WAo=
|
||||||
|
=t2v3
|
||||||
|
-----END PGP SIGNATURE-----
|
3
kpipewire-6.2.0.tar.xz
Normal file
3
kpipewire-6.2.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:72c07e6c6608b6c5eaa2460d975bf9047489651fb05de5e5b540876529f425b0
|
||||||
|
size 149360
|
16
kpipewire-6.2.0.tar.xz.sig
Normal file
16
kpipewire-6.2.0.tar.xz.sig
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAmb+j+4ACgkQ11dEg7tX
|
||||||
|
sY3vvA//eoAg4EYFceZSCoUa7Bi96Rl/cy3HQCDWqOakoBMFxTNH6f+Q1jleBPVh
|
||||||
|
0TXzqGQpMgx9MQsRJrpeJnoTXKsVUD+TpFDNh5C+eSf4e12G7BJZZoMTPmkWNwLY
|
||||||
|
itopMgfLtMvYfUIfPMb41lNfNSbPTQy6H7Y+yrQe4QoujPRACDtvLO18tuhdtuwa
|
||||||
|
zhWV7y+aTbbbOi45STBbMbpYddx7Qo9Lx9PYfZQU4VkAzQHHPHrbbkBKoMMkN6G4
|
||||||
|
7VvR5QPrVokd4H0t5X795Zu2V30/zofHTiA8EUu+wchD8helHwUzlxriZcXis1rt
|
||||||
|
VRtKsuaXV44SsrB+JCjtE4QQXiRNnHEnJbSLnHLUrr23nybSjDYFNBQsaCMBWLWu
|
||||||
|
6aRNaThm7Sui4MN7rKKs/7YwlrF20si+xPG7gnr8V2ckQhCsBo/OXM41Z2+GXEPu
|
||||||
|
eP01jW2txlGE9oZBMSH/pa9odzeu11FUUrBx/EOHR94wozLu+EEDKevvLdmurvcK
|
||||||
|
X8kUHmY30SVCJAv1w9EOOOPofodbx0/UocVHwWuKtDLKry+GfFlOatQDN3B+RqcX
|
||||||
|
qC/X8AhDaY9C/r+YPZlvlQ99pFfnXyrxELjVZRi/F349/4qxpu5oLnQ2bdq9FYXj
|
||||||
|
ePkaP11gwnWdYj/n+guxIDgpRuuAN9jjGudEIx5JEoVPgc60Gyw=
|
||||||
|
=MvNW
|
||||||
|
-----END PGP SIGNATURE-----
|
3
kpipewire-6.2.1.tar.xz
Normal file
3
kpipewire-6.2.1.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1675e2f06e20661a5d77400533d552a32a2d6dcc2d9eda02bca8e5adbbc243c8
|
||||||
|
size 149552
|
16
kpipewire-6.2.1.tar.xz.sig
Normal file
16
kpipewire-6.2.1.tar.xz.sig
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAmcOaoEACgkQ11dEg7tX
|
||||||
|
sY3H/g//TY8CCTvRzYhzKvkub7YUcN4Zxg92SPGMN0aeFVQfNaz/SOSnHETNyM1H
|
||||||
|
QNedFAo2Dw449qcctPLggJFhZ3c24syUUNV3YQ9UOIRliuV9YDQVw5MFEmxunm4y
|
||||||
|
XO75MQdgo9FrE2k8mBWdomYzqGBwERjc0OqaSveBxVNSC0zcv9heZGLtkqHgYBhb
|
||||||
|
5bI0dcadbQ56JoSnZGCUX1qmA7WsfEosLmtM5X4N+wH/aK1O12LpRqVtraaWhvVC
|
||||||
|
+2SWYyP5MIHytFL4e7eZMYmHQwAnEOsV2pFFK2n/xpWV7bhkQSUS8rIGDT1ixITw
|
||||||
|
66skfNf9W/JzTmDrgG5ni60Z+GlEC/g6XiwqreZweQyoIBpHvpcFa+44St9GW3MT
|
||||||
|
BjKe/bv74exD8mAdgsKbJbpR9oi703k4xFwfeI6cVVRPjJvH0M+Qgg482AfqTgtv
|
||||||
|
4/l+MMStQY0wS0c/nz2i44B26wE2jYrORGdFSXLIUKGt7zNQ2icRrlabihKys9zo
|
||||||
|
qRZMFmSULtRbmYhNz50+5/LSRET5b48hwLgNVOQS+qkhgK7J/xhJZI753mIF5QCK
|
||||||
|
6ZLJQnxga4v/F6kqNkmls1T49YPMTY2WPbdeQd+ktTdXiDxN2DEOmzfaZJTIFNZ5
|
||||||
|
1HX7PTMz//u6zrEttX/9+N23N4QvCiFvnYwrAxKbKno9utouWVA=
|
||||||
|
=E28Z
|
||||||
|
-----END PGP SIGNATURE-----
|
3
kpipewire-6.2.2.tar.xz
Normal file
3
kpipewire-6.2.2.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1229db97447cc07e62e4a1cc3c7c5e5b4edd8c172ee1b922fd27b58ac3784255
|
||||||
|
size 149620
|
16
kpipewire-6.2.2.tar.xz.sig
Normal file
16
kpipewire-6.2.2.tar.xz.sig
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAmcXoNQACgkQ11dEg7tX
|
||||||
|
sY24OxAAiNlyS1jZqIbuQ7UYJkgVuWcNly7djvtUXCm4kYZ/5YnGYbvVuhVNLFmf
|
||||||
|
MhiC1yu9DCorFKP9Q6gVXbln10Xru9uUb4Jq3FsnZSLB+oI7DeGdCbcRdtYMu21T
|
||||||
|
eoUz405H/9x33iRFkv7L8dEmOe4GRdCn/kGz5/3zDa7v7Zv9h003Nr60SMkMRrqC
|
||||||
|
zMu41W9Rms3Bso3aTq3UzqIH/Hgg7H37Q1bGIF4rmsMWRAOdDRI1jvmNKnX9Szka
|
||||||
|
7fU2BgVBV4Pko0+mo9to3pPOc4ayr8IMxGbNvmdxnEK9epD/trcoLEwCI8RrPHWc
|
||||||
|
HLEOu+6+PYyIaBiLk6VMhMbJdw9MWThTRu6DOPcaVPin1rEszzwcmKGWv/ix/LIg
|
||||||
|
F9lCeTGoCIK8A74ubdaWncXZjaABj01X90Pt2kInrivIvXBfko3aR+7qLTzfXp4j
|
||||||
|
q0txRiojYgA3GcDGbuS+Ia9+N3MK+H3oOaB1Y2DJbyntLiz4AqCE0s5b+gW4UVfj
|
||||||
|
LgTlN8RwvRbDXwmfKpLoUHnsePxY86esZ6QlW7NiU7GquVd7RDhh56y9y3Y288U1
|
||||||
|
33sXnJL+On3tpWnTD14qxUQaqt1ZYZ+8/c+QxXNyj3jEs1JPArLW2XQdkdibQLVn
|
||||||
|
AeTSzFsUvoIhTbGpKHk5b8P2vogZYnUksozD56dnsvB9gJeLGZs=
|
||||||
|
=EPGS
|
||||||
|
-----END PGP SIGNATURE-----
|
272
kpipewire6.changes
Normal file
272
kpipewire6.changes
Normal file
@ -0,0 +1,272 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 22 14:07:26 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.2.2:
|
||||||
|
* New bugfix release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.2.2
|
||||||
|
- Changes since 6.2.1:
|
||||||
|
* update version for new release
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 15 16:53:25 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.2.1:
|
||||||
|
* New bugfix release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.2.1
|
||||||
|
- Changes since 6.2.0:
|
||||||
|
* PipeWireSourceStream: work around crashes for pipewire < 0.3.49 (kde#492400)
|
||||||
|
* produce: Flush remaining frames when we are deactivating (kde#471159)
|
||||||
|
* update version for new release
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Oct 5 10:44:17 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.2.0:
|
||||||
|
* New bugfix release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.2.0
|
||||||
|
- Changes since 6.1.90:
|
||||||
|
* update version for new release
|
||||||
|
* h264vaapi: Use the proper getter for getting the hardware context
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 3 14:12:07 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||||
|
|
||||||
|
- Drop patch, no longer needed:
|
||||||
|
* 0001-h264vaapi-Use-the-proper-getter-for-getting-the-hard.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 3 14:08:29 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||||
|
|
||||||
|
- Add ffmpeg 7.1 compatibility patch:
|
||||||
|
* 0001-h264vaapi-Use-the-proper-getter-for-getting-the-hard.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 17 14:53:30 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.1.90:
|
||||||
|
* New feature release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.1.90
|
||||||
|
- Changes since 6.1.5:
|
||||||
|
* update version for new release
|
||||||
|
* sourcestream: Do not process null streams
|
||||||
|
* Add missing "pipewireencodedstream.h" include
|
||||||
|
* Generate wayland code with PRIVATE_CODE
|
||||||
|
* produce: Use a separate condition_variable for passthrough/output thread
|
||||||
|
* Guard m_stream in setMaxFramerate
|
||||||
|
* pipewireproduce.cpp: Add guard to m_stream
|
||||||
|
* sourcestream: make resilient against pipewire restarts
|
||||||
|
* Fix some copy-and-paste issues in h264vaapi and libx264 encoders
|
||||||
|
* Add encoder using libopenh264 (kde#476187)
|
||||||
|
* Simpler yet more useful handling of KPIPEWIRE_FORCE_ENCODER
|
||||||
|
* produce: Properly cleanup on deactivate in all cases (kde#488687)
|
||||||
|
* produce: Destroy PipeWireSourceStream on the right thread (kde#489434)
|
||||||
|
* gitignore: add VS Code dir
|
||||||
|
* mediamonitortest: start media session and create dummy output to test playback state
|
||||||
|
* Use only non external only format modifiers
|
||||||
|
* Drop implicit modifier shortcut
|
||||||
|
* Use reserve to reserve space in list
|
||||||
|
* update version for new release
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 10 14:53:47 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.1.5:
|
||||||
|
* New bugfix release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.1.5
|
||||||
|
- Changes since 6.1.4:
|
||||||
|
* sourcestream: Do not process null streams
|
||||||
|
* pipewireproduce.cpp: Add guard to m_stream
|
||||||
|
* update version for new release
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 6 13:26:49 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.1.4:
|
||||||
|
* New bugfix release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.1.4
|
||||||
|
- Changes since 6.1.3:
|
||||||
|
* update version for new release
|
||||||
|
* sourcestream: make resilient against pipewire restarts
|
||||||
|
* Add encoder using libopenh264 (kde#476187)
|
||||||
|
- Drop patches, now upstream:
|
||||||
|
* 0001-Simpler-yet-more-useful-handling-of-KPIPEWIRE_FORCE_.patch
|
||||||
|
* 0002-Add-encoder-using-libopenh264.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 16 13:35:56 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Add patches to support libopenh264 for encoding
|
||||||
|
(boo#1227461, kde#476187):
|
||||||
|
* 0001-Simpler-yet-more-useful-handling-of-KPIPEWIRE_FORCE_.patch
|
||||||
|
* 0002-Add-encoder-using-libopenh264.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 16 13:23:41 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.1.3:
|
||||||
|
* New bugfix release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.1.3
|
||||||
|
- Changes since 6.1.2:
|
||||||
|
* produce: Properly cleanup on deactivate in all cases (kde#488687)
|
||||||
|
* produce: Destroy PipeWireSourceStream on the right thread (kde#489434)
|
||||||
|
* update version for new release
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 2 17:34:03 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.1.2:
|
||||||
|
* New bugfix release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.1.2
|
||||||
|
- Changes since 6.1.1:
|
||||||
|
* update version for new release
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 25 17:13:11 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.1.1:
|
||||||
|
* New bugfix release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.1.1
|
||||||
|
- Changes since 6.1.0:
|
||||||
|
* update version for new release
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 13 10:58:29 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.1.0:
|
||||||
|
* New bugfix release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.1.0
|
||||||
|
- Changes since 6.0.90:
|
||||||
|
* update version for new release
|
||||||
|
* Use only non external only format modifiers
|
||||||
|
* Drop implicit modifier shortcut
|
||||||
|
* Use reserve to reserve space in list
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat May 25 11:18:12 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.0.90:
|
||||||
|
* New feature release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.0.90
|
||||||
|
- Too many changes to list here
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 22 07:43:04 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.0.5:
|
||||||
|
* New bugfix release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.0.5
|
||||||
|
- Changes since 6.0.4:
|
||||||
|
* update version for new release
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 17 08:12:31 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.0.4:
|
||||||
|
* New bugfix release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.0.4
|
||||||
|
- Changes since 6.0.3:
|
||||||
|
* fix version
|
||||||
|
* update version for new release
|
||||||
|
* encode: Only increase filtered frame count if frame was actually submitted
|
||||||
|
* Fix nullptr check (kde#484620)
|
||||||
|
* Generate presentation timestamps from std::chrono::steady_clock if SPA_META_Header is missing
|
||||||
|
* Fix a minor coding style issue
|
||||||
|
* Ignore buffers with SPA_META_HEADER_FLAG_CORRUPTED
|
||||||
|
* Ignore chunk size of SPA_DATA_DmaBuf
|
||||||
|
* typo
|
||||||
|
* update version for new release
|
||||||
|
* fix typo
|
||||||
|
* update version for new release
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 26 18:05:35 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.0.3:
|
||||||
|
* New bugfix release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.0.3
|
||||||
|
- Changes since 6.0.2:
|
||||||
|
* fix typo
|
||||||
|
* update version for new release
|
||||||
|
* Don't set PipeWireSourceItem::enabled to true when the item becomes visible
|
||||||
|
* Drop redundant isComponentComplete() checks
|
||||||
|
* Remove redundant code
|
||||||
|
* Mark PipeWireSourceItem as enabled after receiving a frame
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 13 09:09:42 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.0.2:
|
||||||
|
* New bugfix release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.0.2
|
||||||
|
- Changes since 6.0.1:
|
||||||
|
* fix version
|
||||||
|
* update version for new release
|
||||||
|
* bump version ahead of new release
|
||||||
|
* cmake: Add missing " to unbreak the build
|
||||||
|
- Drop patches, now upstream:
|
||||||
|
* 0001-cmake-Add-missing-to-unbreak-the-build.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 6 08:40:27 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.0.1:
|
||||||
|
* New bugfix release
|
||||||
|
* For more details see https://kde.org/announcements/plasma/6/6.0.1
|
||||||
|
- Changes since 6.0.0:
|
||||||
|
* update version for new release
|
||||||
|
- Add patch to fix build (wtf):
|
||||||
|
* 0001-cmake-Add-missing-to-unbreak-the-build.patch
|
||||||
|
- Drop patch, no longer necessary:
|
||||||
|
* 0001-Set-SOVERSION-to-6.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Feb 21 18:36:12 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 6.0.0:
|
||||||
|
* New bugfix release
|
||||||
|
* Release announcement not available yet
|
||||||
|
- Changes since 5.93.0:
|
||||||
|
* add back quotes
|
||||||
|
* update version for new release
|
||||||
|
* Drop defined but undeclared property
|
||||||
|
* record: Make sure we also finalise streams that didn't even start
|
||||||
|
* revert to version 6.0.0
|
||||||
|
* set major version for soname
|
||||||
|
* revert version number for bugfix release
|
||||||
|
* Set the framework version in the project() call
|
||||||
|
* bugfix release
|
||||||
|
* Install kpipewire_version.h
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 6 18:22:58 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 5.93.1:
|
||||||
|
* New bugfix release
|
||||||
|
* See https://kde.org/announcements/megarelease/6/rc2/ for details
|
||||||
|
- Changes since 5.93.0:
|
||||||
|
* Set the framework version in the project() call
|
||||||
|
* Install kpipewire_version.h
|
||||||
|
- Add patch to set the SOVERSION correctly:
|
||||||
|
* 0001-Set-SOVERSION-to-6.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jan 31 17:37:04 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 5.93.0 (6.0 RC 2):
|
||||||
|
* New bugfix release
|
||||||
|
* See https://kde.org/announcements/megarelease/6/rc2/ for details
|
||||||
|
- Changes since 5.92.0:
|
||||||
|
* source: Increase logging, drop redundant condition
|
||||||
|
* Add missing cases to convertQImageFormatToAVPixelFormat
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 15 21:08:49 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 5.92.0 (6.0 RC 1)
|
||||||
|
* For more details please see:
|
||||||
|
https://kde.org/announcements/megarelease/6/rc1/
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jul 1 15:46:53 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||||
|
|
||||||
|
- Init kpipewire6
|
162
kpipewire6.spec
Normal file
162
kpipewire6.spec
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
#
|
||||||
|
# spec file for package kpipewire6
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%global kf6_version 6.0.0
|
||||||
|
%define qt6_version 6.7.0
|
||||||
|
|
||||||
|
%define _sover 6
|
||||||
|
%define rname kpipewire
|
||||||
|
# Full Plasma 6 version (e.g. 6.0.0)
|
||||||
|
%{!?_plasma6_bugfix: %global _plasma6_bugfix %{version}}
|
||||||
|
# Latest ABI-stable Plasma (e.g. 6.0 in KF6, but 6.0.80 in KUF)
|
||||||
|
%{!?_plasma6_version: %define _plasma6_version %(echo %{_plasma6_bugfix} | awk -F. '{print $1"."$2}')}
|
||||||
|
%bcond_without released
|
||||||
|
Name: kpipewire6
|
||||||
|
Version: 6.2.2
|
||||||
|
Release: 0
|
||||||
|
Summary: PipeWire integration for KDE Plasma
|
||||||
|
License: LGPL-2.0-only AND LGPL-3.0-only
|
||||||
|
URL: https://www.kde.org
|
||||||
|
Source: https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz
|
||||||
|
%if %{with released}
|
||||||
|
Source1: https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz.sig
|
||||||
|
Source2: plasma.keyring
|
||||||
|
%endif
|
||||||
|
BuildRequires: kf6-extra-cmake-modules
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
BuildRequires: qt6-gui-private-devel >= %{qt6_version}
|
||||||
|
BuildRequires: cmake(KF6CoreAddons) >= %{kf6_version}
|
||||||
|
BuildRequires: cmake(KF6I18n) >= %{kf6_version}
|
||||||
|
BuildRequires: cmake(KWayland) >= %{_plasma6_version}
|
||||||
|
BuildRequires: cmake(PlasmaWaylandProtocols)
|
||||||
|
BuildRequires: cmake(Qt6DBus) >= %{qt6_version}
|
||||||
|
BuildRequires: cmake(Qt6Quick) >= %{qt6_version}
|
||||||
|
BuildRequires: cmake(Qt6QuickTest) >= %{qt6_version}
|
||||||
|
BuildRequires: cmake(Qt6Test) >= %{qt6_version}
|
||||||
|
BuildRequires: cmake(Qt6WaylandClient) >= %{qt6_version}
|
||||||
|
BuildRequires: pkgconfig(egl)
|
||||||
|
BuildRequires: pkgconfig(epoxy)
|
||||||
|
BuildRequires: pkgconfig(gbm)
|
||||||
|
BuildRequires: pkgconfig(libavcodec)
|
||||||
|
BuildRequires: pkgconfig(libavfilter)
|
||||||
|
BuildRequires: pkgconfig(libavformat)
|
||||||
|
BuildRequires: pkgconfig(libavutil)
|
||||||
|
BuildRequires: pkgconfig(libdrm)
|
||||||
|
BuildRequires: pkgconfig(libpipewire-0.3)
|
||||||
|
BuildRequires: pkgconfig(libswscale)
|
||||||
|
BuildRequires: pkgconfig(libva)
|
||||||
|
BuildRequires: pkgconfig(libva-drm)
|
||||||
|
|
||||||
|
%description
|
||||||
|
KPipeWire provides PipeWire integration for the Plasma desktop and mobile shells.
|
||||||
|
|
||||||
|
%package -n libKPipeWire%{_sover}
|
||||||
|
Summary: PipeWire integration for KDE Plasma - main library
|
||||||
|
|
||||||
|
%description -n libKPipeWire%{_sover}
|
||||||
|
KPipeWire provides PipeWire integration for the Plasma desktop and mobile shells.
|
||||||
|
This package contains the main KPipeWire library.
|
||||||
|
|
||||||
|
%package -n libKPipeWireRecord%{_sover}
|
||||||
|
Summary: PipeWire integration for KDE Plasma - recording support
|
||||||
|
|
||||||
|
%description -n libKPipeWireRecord%{_sover}
|
||||||
|
KPipeWire provides PipeWire integration for the Plasma desktop and mobile shells.
|
||||||
|
This package contains the library needed for video and audio capture.
|
||||||
|
|
||||||
|
%package -n libKPipeWireDmaBuf%{_sover}
|
||||||
|
Summary: PipeWire integration for KDE Plasma - DMA-BUF support
|
||||||
|
|
||||||
|
%description -n libKPipeWireDmaBuf%{_sover}
|
||||||
|
KPipeWire provides PipeWire integration for the Plasma desktop and mobile shells.
|
||||||
|
This package provides a helper for downloading DMA-BUF textures for CPU processing.
|
||||||
|
|
||||||
|
%package imports
|
||||||
|
Summary: QtQuick bindings for kpipewire6
|
||||||
|
Requires: libKPipeWire%{_sover} = %{version}
|
||||||
|
Requires: libKPipeWireDmaBuf%{_sover} = %{version}
|
||||||
|
Requires: libKPipeWireRecord%{_sover} = %{version}
|
||||||
|
|
||||||
|
%description imports
|
||||||
|
KPipeWire provides PipeWire integration for the Plasma desktop and mobile shells.
|
||||||
|
This package provides QtQuick bindings for the main KPipeWire libraries.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for kpipewire6
|
||||||
|
Requires: kpipewire6-imports = %{version}
|
||||||
|
Requires: libKPipeWire%{_sover} = %{version}
|
||||||
|
Requires: libKPipeWireDmaBuf%{_sover} = %{version}
|
||||||
|
Requires: libKPipeWireRecord%{_sover} = %{version}
|
||||||
|
Requires: pkgconfig(epoxy)
|
||||||
|
Requires: pkgconfig(libpipewire-0.3)
|
||||||
|
Conflicts: kpipewire-devel
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
KPipeWire provides PipeWire integration for the Plasma desktop and mobile shells.
|
||||||
|
This package provides the development files needed to build applications
|
||||||
|
which use KPipeWire.
|
||||||
|
|
||||||
|
%lang_package -n libKPipeWire%{_sover}
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -n %{rname}-%{version}
|
||||||
|
|
||||||
|
%build
|
||||||
|
%cmake_kf6
|
||||||
|
|
||||||
|
%kf6_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%kf6_install
|
||||||
|
|
||||||
|
%find_lang kpipewire6
|
||||||
|
|
||||||
|
%check
|
||||||
|
# Test fails since 03201bb6. A running pipewire is required
|
||||||
|
# %%ctest
|
||||||
|
|
||||||
|
%ldconfig_scriptlets -n libKPipeWire%{_sover}
|
||||||
|
%ldconfig_scriptlets -n libKPipeWireRecord%{_sover}
|
||||||
|
%ldconfig_scriptlets -n libKPipeWireDmaBuf%{_sover}
|
||||||
|
|
||||||
|
%files -n libKPipeWire%{_sover}
|
||||||
|
%license LICENSES/*
|
||||||
|
%doc README.md
|
||||||
|
%{_kf6_libdir}/libKPipeWire.so.*
|
||||||
|
%{_kf6_debugdir}/kpipewire.categories
|
||||||
|
|
||||||
|
%files -n libKPipeWireRecord%{_sover}
|
||||||
|
%{_kf6_libdir}/libKPipeWireRecord.so.*
|
||||||
|
%{_kf6_debugdir}/kpipewirerecord.categories
|
||||||
|
|
||||||
|
%files -n libKPipeWireDmaBuf%{_sover}
|
||||||
|
%{_kf6_libdir}/libKPipeWireDmaBuf.so.*
|
||||||
|
|
||||||
|
%files imports
|
||||||
|
%{_kf6_qmldir}/org/kde/pipewire/
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_includedir}/KPipeWire/
|
||||||
|
%{_kf6_cmakedir}/KPipeWire/
|
||||||
|
%{_kf6_libdir}/libKPipeWire.so
|
||||||
|
%{_kf6_libdir}/libKPipeWireRecord.so
|
||||||
|
%{_kf6_libdir}/libKPipeWireDmaBuf.so
|
||||||
|
|
||||||
|
%files -n libKPipeWire%{_sover}-lang -f kpipewire6.lang
|
||||||
|
|
||||||
|
%changelog
|
BIN
plasma.keyring
Normal file
BIN
plasma.keyring
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user