67 Commits

Author SHA256 Message Date
b6a8bef5b8 Accepting request 1298297 from KDE:Frameworks
Plasma 6.4.4 (forwarded request 1298101 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1298297
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=29
2025-08-08 13:10:51 +00:00
98e6b72d7d Accepting request 1293908 from KDE:Frameworks
Plasma 6.4.3, untested. For now without kscreenlocker6 PAM changes (forwarded request 1293847 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1293908
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=28
2025-07-18 13:56:45 +00:00
5d0911b5d2 Accepting request 1289883 from KDE:Frameworks
Plasma 6.4.2, untested (forwarded request 1289775 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1289883
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=27
2025-07-03 10:07:49 +00:00
Christophe Marin
6033d29ed1 Plasma 6.4.2, untested
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=62
2025-07-02 11:37:29 +00:00
9fd7c9a2c7 Accepting request 1288290 from KDE:Frameworks
Plasma 6.4.1, untested (forwarded request 1288270 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1288290
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=26
2025-06-26 09:35:07 +00:00
Christophe Marin
2b08e9a809 Plasma 6.4.1, untested
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=60
2025-06-24 14:09:48 +00:00
8256461421 Accepting request 1285716 from KDE:Frameworks
Plasma 6.4.0 (maybe). K:F already publish disabled (forwarded request 1285270 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1285716
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=25
2025-06-18 13:54:05 +00:00
Christophe Marin
e5759a19a8 Plasma 6.4.0 (maybe). K:F already publish disabled
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=58
2025-06-14 07:16:23 +00:00
Christophe Marin
b94dd2c762 Plasma 6.4 Beta 2
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=57
2025-05-30 15:49:18 +00:00
Christophe Marin
a15221269b Plasma 6.4 beta, somewhat tested
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=56
2025-05-21 16:49:02 +00:00
db90b1a920 Accepting request 1275182 from KDE:Frameworks
Plasma 6.3.5, untested (forwarded request 1275160 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1275182
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=24
2025-05-08 16:21:03 +00:00
Christophe Marin
4783630894 Plasma 6.3.5, untested
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=54
2025-05-07 10:59:21 +00:00
c1bbf74843 Accepting request 1266472 from KDE:Frameworks
Plasma 6.3.4 (still building) (forwarded request 1266434 from krop)

OBS-URL: https://build.opensuse.org/request/show/1266472
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=23
2025-04-03 14:46:15 +00:00
Christophe Marin
e5e5a76ae7 Plasma 6.3.4 (still building)
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=52
2025-04-02 11:35:56 +00:00
4a90935e6b Accepting request 1252256 from KDE:Frameworks
Plasma 6.3.3

OBS-URL: https://build.opensuse.org/request/show/1252256
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=22
2025-03-13 14:05:18 +00:00
Christophe Marin
46e56b84b4 Plasma 6.3.3, untested. kwin was somewhat broken this time, had to add some patches
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=50
2025-03-12 08:00:15 +00:00
784660ac60 Accepting request 1248655 from KDE:Frameworks
Plasma 6.3.2(.1) (forwarded request 1248621 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1248655
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=21
2025-02-27 13:49:23 +00:00
Christophe Marin
ac2940e8ad Plasma 6.3.2(.1)
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=48
2025-02-26 10:57:13 +00:00
aa778f8cbe Accepting request 1246905 from KDE:Frameworks
Plasma 6.3.1, untested (forwarded request 1246797 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1246905
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=20
2025-02-20 15:30:10 +00:00
Christophe Marin
e6c7fe85a6 Plasma 6.3.1, untested
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=46
2025-02-19 08:17:46 +00:00
7416d4c8c6 Accepting request 1244577 from KDE:Frameworks
Plasma 6.3

OBS-URL: https://build.opensuse.org/request/show/1244577
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=19
2025-02-10 16:23:48 +00:00
Christophe Marin
ff94dff0c2 Plasma 6.3 maybe final. K:F already publish disabled
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=44
2025-02-09 22:56:03 +00:00
Christophe Marin
e2b999bee7 Plasma 6.3 Beta 2, this time untested
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=43
2025-01-24 07:58:28 +00:00
Christophe Marin
50a58359ec Plasma 6.3 Beta, lightly tested
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=42
2025-01-13 15:12:50 +00:00
bddc89d500 Accepting request 1234206 from KDE:Frameworks
Plasma 6.2.5 (forwarded request 1234189 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1234206
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=18
2025-01-03 13:16:12 +00:00
Christophe Marin
60a02dca86 Plasma 6.2.5
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=40
2025-01-01 00:23:07 +00:00
d248ca5eec Accepting request 1226705 from KDE:Frameworks
Plasma 6.2.4, untested (forwarded request 1226674 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1226705
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=17
2024-11-27 21:05:58 +00:00
Christophe Marin
47dc7725c3 Plasma 6.2.4, untested
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=38
2024-11-27 00:22:16 +00:00
9599cbbf97 Accepting request 1221534 from KDE:Frameworks
Plasma 6.2.3 (forwarded request 1221508 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1221534
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=16
2024-11-06 15:50:28 +00:00
Christophe Marin
1c913a045c Plasma 6.2.3
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=36
2024-11-05 17:02:04 +00:00
0eeccb3943 Accepting request 1217177 from KDE:Frameworks
Plasma 6.2.2 (forwarded request 1217086 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1217177
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=15
2024-10-24 13:41:01 +00:00
Christophe Marin
ff03f765f7 Plasma 6.2.2
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=34
2024-10-23 07:42:48 +00:00
21e7611b19 Accepting request 1208314 from KDE:Frameworks
Plasma 6.2.1 (forwarded request 1208221 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1208314
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=14
2024-10-16 21:40:43 +00:00
Christophe Marin
ba79571978 Plasma 6.2.1
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=32
2024-10-16 07:41:13 +00:00
592e0e858d Accepting request 1205905 from KDE:Frameworks
Plasma 6.2.0

OBS-URL: https://build.opensuse.org/request/show/1205905
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=13
2024-10-07 19:47:24 +00:00
Christophe Marin
aadfc066f0 Plasma 6.2.0 maybe not final tars. K:F publishing already disabled.
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=30
2024-10-06 09:00:03 +00:00
15cb6841e7 Accepting request 1205538 from KDE:Frameworks
ffmpeg 7.1 compat

OBS-URL: https://build.opensuse.org/request/show/1205538
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=12
2024-10-04 15:08:37 +00:00
OBS User buildservice-autocommit
cb7270c6c1 baserev update by copy to link target
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=29
2024-10-04 15:08:37 +00:00
OBS User buildservice-autocommit
428b33bedb Updating link to change in openSUSE:Factory/kpipewire6 revision 12
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=980968eb83ed75efc661b810d5bbb590
2024-10-04 15:08:37 +00:00
Christophe Marin
96ab6d1257 revert now
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=28
2024-10-03 14:12:22 +00:00
Christophe Marin
344cf25798 OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=27 2024-10-03 14:08:33 +00:00
Christophe Marin
7be3ea2745 Temporary revert to add ffmpeg 7.1 compat patch
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=26
2024-10-03 14:04:01 +00:00
Christophe Marin
8344aaefd8 Plasma 6.2 beta, try 2
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=25
2024-09-26 10:49:49 +00:00
f66091d941 Accepting request 1200006 from KDE:Frameworks
Plasma 6.1.5. sddm-kcm6 needed a patch change. (forwarded request 1199935 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1200006
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=11
2024-09-11 14:55:00 +00:00
Christophe Marin
bd28471f26 Plasma 6.1.5. sddm-kcm6 needed a patch change.
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=23
2024-09-11 07:57:52 +00:00
e1fac7ccf7 Accepting request 1191932 from KDE:Frameworks
Plasma 6.1.4 (forwarded request 1191908 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1191932
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=10
2024-08-08 08:56:04 +00:00
Christophe Marin
9ab64454b9 Plasma 6.1.4
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=21
2024-08-06 19:17:11 +00:00
2f4578a6a4 Accepting request 1187987 from KDE:Frameworks
Plasma 6.1.3 (forwarded request 1187956 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1187987
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=9
2024-07-17 13:13:03 +00:00
Christophe Marin
d2046b49f6 Plasma 6.1.3
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=19
2024-07-16 17:34:19 +00:00
ac14b5ef89 Accepting request 1184994 from KDE:Frameworks
Plasma 6.1.2 (forwarded request 1184925 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1184994
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=8
2024-07-04 14:20:33 +00:00
Christophe Marin
2108448519 Plasma 6.1.2
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=17
2024-07-03 06:31:30 +00:00
7615c06299 Accepting request 1183365 from KDE:Frameworks
Plasma 6.1.1 (forwarded request 1183337 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1183365
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=7
2024-06-27 13:58:40 +00:00
Christophe Marin
2d79a2592f Plasma 6.1.1
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=15
2024-06-26 11:06:09 +00:00
bb34cddb8c Accepting request 1181116 from KDE:Frameworks
Plasma 6.1

OBS-URL: https://build.opensuse.org/request/show/1181116
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=6
2024-06-22 11:21:57 +00:00
Christophe Marin
d0126c3252 Plasma 6.1 maybe final, somewhat tested. KDE:Frameworks already publish disabled.
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=13
2024-06-16 08:35:31 +00:00
b1f223ce6e Accepting request 1176098 from KDE:Frameworks
Plasma 6.0.5(.1) (forwarded request 1176041 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1176098
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=5
2024-05-27 09:45:42 +00:00
Christophe Marin
21637fec71 Plasma 6.0.5(.1)
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=11
2024-05-23 08:32:33 +00:00
1763f43691 Accepting request 1168737 from KDE:Frameworks
Plasma 6.0.4(.1) (forwarded request 1168499 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1168737
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=4
2024-04-18 20:11:18 +00:00
Christophe Marin
f208838bd4 Plasma 6.0.4(.1)
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=9
2024-04-18 07:14:39 +00:00
4071d99d35 Accepting request 1162422 from KDE:Frameworks
Plasma 6.0.3. The release actually builds this time! (After other distros already found major issues...) (forwarded request 1162359 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1162422
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=3
2024-03-28 12:53:41 +00:00
Christophe Marin
e2b19b172b Plasma 6.0.3. The release actually builds this time! (After other distros already found major issues...)
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=7
2024-03-26 22:05:09 +00:00
b9f132ce91 Accepting request 1157696 from KDE:Frameworks
Plasma 6.0.2 + libksysguard5-helper upgrade fix + icon upgrade fix + gtk theme fix (forwarded request 1157674 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/1157696
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=2
2024-03-14 16:43:18 +00:00
Christophe Marin
5ba84c4696 Plasma 6.0.2 + libksysguard5-helper upgrade fix + icon upgrade fix + gtk theme fix
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=5
2024-03-13 16:58:29 +00:00
b128ed8958 Accepting request 1155663 from KDE:Frameworks
Plasma 6.0.1

OBS-URL: https://build.opensuse.org/request/show/1155663
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kpipewire6?expand=0&rev=1
2024-03-11 14:28:31 +00:00
cf8dd724ce Plasma 6.0.1 + some provides
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=3
2024-03-06 15:50:23 +00:00
Christophe Marin
c5e8474ce6 Plasma 6.0 for now. Prj already publish disabled.
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=2
2024-02-25 12:05:22 +00:00
Luca Beltrame
71f5f57566 Plasma 6 RC 2. Still untested...
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kpipewire6?expand=0&rev=1
2024-02-07 18:01:32 +00:00
34 changed files with 0 additions and 619 deletions

View File

@@ -1,107 +0,0 @@
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

View File

@@ -1,223 +0,0 @@
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

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eb2217024e3bf3a4777548b9a0bda88ca0b97912d20336b03f5942b28b1baef9
size 148504

View File

@@ -1,16 +0,0 @@
-----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-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ab116d56fd8a6b36da6b595f597cf4383d8ed171f8e625dca67b7a4645337134
size 148980

View File

@@ -1,16 +0,0 @@
-----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-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:25b32cfcaff352f0c4acda5746adffd2e3b28b5ff0648521bde8628ca7145a49
size 149096

View File

@@ -1,16 +0,0 @@
-----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-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:72c07e6c6608b6c5eaa2460d975bf9047489651fb05de5e5b540876529f425b0
size 149360

View File

@@ -1,16 +0,0 @@
-----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-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1675e2f06e20661a5d77400533d552a32a2d6dcc2d9eda02bca8e5adbbc243c8
size 149552

View File

@@ -1,16 +0,0 @@
-----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-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bb473f15b4d4f59479cbbaba6ef781d9bc48813b97c35edfb3982d0ac8f030f7
size 149944

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAmcqEQUACgkQ11dEg7tX
sY0Tjg/5AcHocA1HocrGDctrKjdu726H9WqfXKTP72cd2lFPdOda47MMKq4z0Ye+
qbfJ+eL6B8BCd7dvqjEU2FEYajV1WilzaD0ic3a+EuHJLIcdurDRmWmspgfMlWu7
2/kiWKkZR/DTsxbBosan9Df+v1vj2mkTYe8C43uBYUVdK5zZv/R2nSoYW9hH0meN
J0yEoo8RZgyMdjJNChLomP7cypNOSVCJDf1RASK+U5ajzFC7Z8dyueeeQ8JUYXAw
KzXTTtLDxm9g6hSyLo1VwjLf4PUzbLki67Lh9RlwQhoWh7IaemPA/B2WcQh5f+7K
esoNHM1m1MGhdSt7vkGDGJf3dmtfMTsj3Hku365GJUuRk1l9oKjY9EPHxPpMUS/b
6CtGTux4eZO1Yb5MqQOneGAELrYflDtbxH77UYySPs4nnUKNFF877gvJvkO0RlP5
yAJPtnCp3fAyse+oXNJ9N0vBkeSb/VPs0N5+7bPGmC7/hHruCOtecKesApxxM6ZF
YmS9lnoGmb4DgM34QBMaT/ETl276pryI3W0yqssjzBTUWv3wbU0YQVy5RUa3QlhU
CRXeGyfz/kdSO2r875MEPeSZ2MUWXNWBZ+e2ph7+850WbDBioX+NJqMZ807cBu9r
g/6rVpcHL/pHP5QIx/5A6sgkOnjGHIz/H4/3oHZ9e3cXPt2FyGo=
=MpOM
-----END PGP SIGNATURE-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:76e456206a9f6e922cb10614476a19682f8c27957c5c8998f1d1a0dadb94ca6b
size 149944

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAmdFndoACgkQ11dEg7tX
sY2i2Q/7B9VQW4QuVOnU5iRj8jSyXaTir14eqIuwb1ZycNJclrgeYAfkUM7XEQXA
YstoEa48t+h93cxiAiiNltYG1LzZRrsVe+x4+WHI8u14Wfk41Gp7882Qvgp+XVTd
i3GNV+TzmD0zKN+f8yeGqy4tEBJOpL1uLEjr0ORIslwz1lhq0CjBJX1DYz1r8aS/
zcuqrGaZjAYk8QqTasq7Z0vTwDtSaLvkIcyN5guqdqlb0/b83oBXXQ5IFfjOh+ve
1D9zeMaQ/RZxHG97MllKCi5B6Pue3SEjV9RRsjJd9DzlHmr7xVqYN1FqTgmLsfJK
Affe4f6l6B+EmgkUHBM4h3vznPNLk3gK0eSOv1kr9OAl/Fo7mZlqOLA/5otH6t20
2PgK9gXYswscs57+u1vYHN4HfMUSDNuDFcNjbSWLRir6mFCysFN52cQBZnBeiSCH
P8JEMPODpMj0wJY8H73X0uAhBOHcNbdFHaLOPJ58Pquh8if0DS6ri3P4SnYzVPXh
RaZbc2yo+U1nN/lJjkyLprKd9vmXaPdLltmfwkM5/LCDiEmU6h0PjwjXfuMRB/iO
gikyvU39lDda65QK/mHuIGQE7v5491iE8u+WfEtqLbS6+Jsg/OZuyz3hXdM9KHXo
BhlEqT+oTOMUCjYdVVnZq1j+8bGtKOeO3lZIL/+OE9mzVZg0vUo=
=y0hI
-----END PGP SIGNATURE-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:db42d581f0ca427bd80ee6a67d1fa9cef01114266c9aee7faa2cecbd973e6319
size 150412

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAmdy7PoACgkQ11dEg7tX
sY3HHw/9EKUFhSvOkgiDxs+XNjhQIxYP2LZxDp8ONOT84lLFT31uTl8h2338QpdF
6AChZNJmgbB5E7OyzEtbHW0ZwYGo/0o4sVSs0hpRZha1dz/InxELjQu+i6qjogEw
zrdTp+CSJMOr0eAEf/blXbVWT9Vlox/3vpyatwFrW2/UQG7+kQUkEJbyXWN5oQly
SI4Van/lUAfXh62YpScoQKeV+d2d/91XMRoKDit8JHeuVMWcSjlCvbhIIGP+Jmft
Bq8IUmBmdmmm2hXi5g8nE53/xyzSPmLnYB4xNfEoJ1OIEAggGIVIQcGmamZSkbyu
erbycvjFoo0uMutCxn7bs8/MpFwsixBj5Axtoo7+qrD4cEYhDERyrM0uZIyzO5H4
JTj40lt1HHlcg139/SzWb8RUL7yncm9gPBUXJBzgHD/R+ebfYXuwmPrhwvI21go/
2/zw6LCRXaOIOq7VrzUY0PLE8wET8Wta11TlWZMnsVIXdUbvPNSFpduNgYwFk6Gf
H/BM2tc3zSqH52Jyu9XCZXYqmB6lHmbDJeK+DulCu08XOyIc5VHGVfUK2Oc6Oid6
Qo/Uvop9JET/drAdDIHSG5K6jEj/Tod2nGcIlxz57C5pS03Y9O21OrhlobT3Mfu3
Ut7+wSFGlIvc0hcr3b1IsIgw5j/wxv6Xts435V43eU0dymJjLsQ=
=O0AQ
-----END PGP SIGNATURE-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:377f0d20fbf1f38073136f17b5995c83e5c7fa80a508966d569e35c4f180df2a
size 152884

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAmeklpMACgkQ11dEg7tX
sY0PNQ//ROrR6JUX/49u1kUt6231KTNv6UVEusV8gSCezKiwIS5pkd6FYJse9asm
0OVd0an6F/hjKMiKKFWg5NLHRyQ025J76rqWPkKu8KekJljC5/Of6VWRAHazNaFH
/7zQYGMA37jnphhmqI5oMwrOHpDXmkOIDpO4ksU2EPsLjpO34xHOpeN/6NLDNtZx
bSFwq7gf+D+e/sQ5Kgqgz0PHkyo78HomiulNw3vXb6ubsv21xCY6UdDbQHrP7tS0
CL8xlDq/eZerPEV//EBvrabtDqJuZdKvLR9WjxCL/PlC8EqnaNivzItkyxWhP/wB
wLa1Qhf/Xfbz10mrA1FB9MK90ZcgpLkbvIkdYDqssGcfuPqgiqLTtHikys93Sl2F
Fl63eAou8DlwXEdUoRbasRQGZJZzVOPudBkue7IgAZtmGU6IhHl/gWJ9jDdRE1VX
Ot1EQ195TLGhJqEhyPp05R+1EnhnbMesgNJudFd6EZ5vSYK520O5GwZ90fSOXzUM
oKp4XlJ4vSCIWf1Il6H66zbptUAemn1rg7oj3KWLXXZPs7+PFCatIUeBvPYMBU/n
7Iz4sCHVzfgEkhRp7K5VRBIVxUfvp+ehrjX5/5EaA/poYOmVTNA40+PDIhpYYOTM
kTGZOsMp1BkMw2H6Q8pUenmMflvK8xKf6b3j2VdoQPBfv5S6kDo=
=seMA
-----END PGP SIGNATURE-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2f42394cc40183c193c4515a1572cc83a4e150c750c0e39024d4a857f783d8da
size 152764

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAme0iw4ACgkQ11dEg7tX
sY1Few/+KjRu3y3Q6C7RDFTDqtSB3OQ92ZfgM6ubGL6TQGmdweCBE4lp/mbXrVmU
/TFpYNd+b2R3KMKsPlCzoY0yu+T4vAehYSc+rRU/91YaO0911/wQcMAYfFOJFGzn
o1v5ibsScgIa99dQ+lWEvyxCXCcqtxpfRMb9OtIRGiZ7PxrvhzuGcsmqZM1zDmEu
CTkLHBaO9eiKneDwq9ZeWCo1ZkTTSI5glTs5RLQK5d/C9WFJTLH8d5Fk9lqt0WxH
uH60B5CUkudElS/hjxNSD/LFbrqO9/HIq/GIIvmgpEHzrIJr4EAn1evi3xzyI3KX
L3dzut6377KOUKMKtt+4GqaDIYkmhfKdX7AcMSVCdKJoQkVU/hYHfykopHs3i//u
WrNF9HP/3tQTwjDGcaozEQXl6rFMXGzQJHxp4nG98mjWvkNmb1VOG11xpYZpiitt
nqvTHQYN85HmmJACDpK4KPFtlGSbLCA196U/QB7AGZtyH1gWaL40+w9AHe1OvBy6
4HwMEryoipoEhPav5waD5eM4AqCQ1IxCF87daKdtK1nn1mqO5GnyGV3glY/Pt3hN
Dh0cVYbpwN0v1X477LtGVBGhAhCZ6jn6p728SF95U2NivC65/HfrKec5vRYF9KTM
yTiKNb1TwJxFWqwxFDkTcR1mDOC9fccCPs5oW/5ZfC08tfc1l1E=
=M1/D
-----END PGP SIGNATURE-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b5face07052e0ec1db21e31bae3243d6376316f78be06c77d9d5be5b6b001dc4
size 152748

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAme96pAACgkQ11dEg7tX
sY2qdg//asOzOm17foZRPLQCPQCGMLfrwl7ACqhiJGqdpWOWI/UV/XNjSpjrmZW3
dATTf7KwCk8Yy9w1Jvjg1w2YSSnmZCdqMXDEvm2jaeo7JrsDWNh5aD5whvfNIekE
HxXu0QY+xmFOkhAbadlBvkPbGgSvKaRnNIeKN4bOwzrCNxX+Tm+O9FEDzLSqkO77
nbvA0vd4+PSsXkGbz7F7JN2XooGW/9/B2sh8R/DgcgSQimbdevIdGTJWmqJZ2uie
OzM5yIcYqtejZtaxmCIMwPWnRgx8A5XlSCZDq3le0LSwPEhGNJ99OId8paZI1Bmd
LCeF/4B5o0LvupWCsWN54Vf2fS3+WCjDBW9rxyhVACIJY3iVW+p14LyJJ03cmAhM
WsMh2sVPj6h5WDIZ4gTvlCE4LoAw9eyGPGnf3w4qmgmanWHIVDxEMmbbOx3ArE1Y
Kc/XaiUEZH4voMUmcQb44nZxBwz9vA7YGYesdLnccQZUdPOPEH1Uu1QwLDTyjHOj
csQAMMSzWbbUkPCYKyLlHJhX3M3CM9CRRmUJEa0DDY4DlLqjn1TNjeXdSaJH9oy0
Xo0SyfJSxN5zh5rdS8DPk40cid6I7QgCUW5lkFOn6u9tb+9/rgO+c4ImTleK3sec
ci4eWoZsFtPEGZP1Y+UQKhazeBBHewGV8LQIRI2ny5FREivesYg=
=dsYq
-----END PGP SIGNATURE-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bbfd42737b5968fbc855e974aa68739e87ccd24b0a6e23d71afc0e98a9115458
size 152756

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAmfssLAACgkQ11dEg7tX
sY0P6A/9EV+SLmenkkNLNQLRqu84hxxzZH6CKkeTl8gH75f96IvWaQVM4P3qges3
zeU0iVxPGklwGdjk9hVNkD2SPq3if3JLrUSuGNy9POBP7jJXPfx4+idXkhT19uvW
jNb7Zk22aPOHcocrsLgo7t8BiV4L3ieEwVSKJ6VD1K0KHU+5G3rJlPr+3k+lJq7E
pg7wyKkwbTaUXvunjg8J/r/lX2W3gY0Ab4UQF3EsVTDfnlP/MgPnhgpBIgG7ZW+a
/XQecijdA2+cBxRyPYB/ZqX2EmGjtBPQtStfLqDvK4f2R9IeDV9Yj2pB+9YAHATo
nK9BXmToTTnpABvCfebjsBgfR4mhNAovjZ8UfXOEdkdw/QKK+w2cMukWmzVxOP7A
yADr52Ggc7wqotP0fcbn4G5u9sRLErGDRdbDGAZVjVprb3VbMBXbc5jhXoGI1IFQ
FdXDBFg3RmXIk/pEYdxtLG70va/fk8kw1/I/oE6AchskZwsjYWmcx8jvGdkxXqJb
ApeKtXm3evu+xk0bthn35xwqSH2WSY5IPKo1zXn0BtVGgrboWLg1SsVk7CRmrxM3
urp9Szgva8Kn42299vDm6q2fPVb+gOrKQNJIbnXyBdFVMuuRZnABtVVFoJWCa2Wm
Ehl99CUZLiBUjV25N330PykvDfn7lB492q8QP7ndbPxPOF7V//w=
=kFxO
-----END PGP SIGNATURE-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:99b612bbe0fe3f44054fc57131e05fc005f675ccc071a088b5a0f154d03af2f7
size 152788

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAmgaTWUACgkQ11dEg7tX
sY24VhAAl+2WIKyaNBjk4efQPz4lhBH45bQdk5q+iUfJdsAJZbGqrBjRu9dGzFhi
fX9D6vLdOMgmH3zCyxe9AGoRuVIscmLUMttZnsWnELykqF8iWOdm7Ye5jx1G/6lD
3F5mYekVOUQdnwdMNSoSn8E+U/MBkbPMoI6t651ElAsSItp8HZ89xMiHDjKb6XOP
XdwgE+v+7OHRZlHJfqVfhn7FhRbrVaO8hFRtGdl1Rvs/rsWwfbqGEoOEZtcvqJqI
s94urzlcDWHPTbI/6HSQKdFDEFd2MPgHB7nBsSe+FO3lMLTxDNRuUN2h8imfSI1s
1/X9bVsN1YVSALPK5cnb7OinzO8D4lSFyDLy/8p9EeuJkBXW9HrCwJog18RhO1Hf
x2Nl1272aG4UV0uf7U4IIb7PC0fB9q2Eh0WLKASFy0eJbG6tuhJdrQBb3rePhwR/
fp7Yo12pOwbUDeUdnj3fMfeuYOxaa8KLEqLIC4I9JHPP8GY5/JUWzlTMVjwZMrFI
QJxvvvXYIK17slZ+Ktb6vef0WJUO7ZtqTL9PVUNhhwgQNAgXFP+EdWFrJKGW1HxC
FaTlC7yEydL5DLPu1mYBbQG58L9V7YYAGVtoaILmNlx0N624/zNnalRKZqSBFJv6
aI95jv0Jiv0vFZsCLl2RcDsZA4rNupg0/s5k12sB5EqrwlXlixw=
=Pay2
-----END PGP SIGNATURE-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d597665a4ee57a4993d908e62151242ae9a5a3a25e76d0ba003f39ca6869e35a
size 152832

View File

@@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEs8s2ZVJUC+Bu6a2XEZaMRJKMrvwFAmhKlt8ACgkQEZaMRJKM
rvxUtwf/XkgZWg75MNa4433hlm0hUv4YN3stAAtFYP8eKbFtOVXkXioud1PWpDHU
OWY2V26Tg+kY3YXjCGtJa2AIfhe6jcVSXlED7GgfOOLgX5nZq1QvZNxj7zMcxvKk
GHz2+nuJ82O65WxNUPQodaegN1CrK/aaJ1kAUgx9QxefTMRduFMhvEisLltZjzAF
mcjBKnaiZ4mi3pPXGbdgP5n5BqO7f02NCBeh+Ntu0gfgEXW5YVT5m4nBsyLpukfe
onQDkjNbdPMSJFs8oAKACDVKhMyzqgXbuEihjVow9XgNaDXMr+HspwNx7+K9yiMq
BkPeCsL8rhceSHRK+3i6SDrrb2r8Ng==
=KjGH
-----END PGP SIGNATURE-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3696dfd19b53e5efa1e7bc690c3820919b8bbdc0d78f96779cc3b319e9035fe2
size 152800

View File

@@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEs8s2ZVJUC+Bu6a2XEZaMRJKMrvwFAmhacEgACgkQEZaMRJKM
rvxCGgf/ZuImQMjEbs+AXuL3zQ4WBmRDadh69IE0VvWOJMpqYCCOiTVjJOJEaXbn
W8NkIVDNCXlVHB2uS2si6AJhmpHMuB24HrLgQjMJii8pael6buk3FCW5Y0gBAE9I
p5fIsWZdFXuME5UnNRxgbgmdpDHbz+nIzv7cxpRpUbyyvwes5Q+mwErQQhI0jrLW
cslgbICUucFE0gBw9MvZAXySvwbNKItX8cad3ZL7Jr6Et2nxIFdEUnDbL5r8qBmL
XfxqeM2LX3tLf5ammCwcdIvR+q7UX/0TkfQGvb+aZi1dmHrmCXWedOjXGdbguJ9v
tIzexDtZo7tihHyfYmvZSIg8CaX6oQ==
=VImE
-----END PGP SIGNATURE-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d59f8be954d23ac4b9f3ed28bcc5a22e8aaebeadf51c2834499b7694ca90ce1c
size 152820

View File

@@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEs8s2ZVJUC+Bu6a2XEZaMRJKMrvwFAmhjyMQACgkQEZaMRJKM
rvy+Hgf/eb0TrBA3gNiZJroHtgPqpMVq/EvxCUIXM6e6a3pFkGMfJRYFir8CjH6e
TbLALLu7pIBILTDWFuYtmpcHNTOaVOvSyoHudhKHAbiRfDY5I2soLspxfgBNAP9H
/WpbBeonhDK8irq9R1932q5SzJ4p6ZJJ2WOL/IV667iVzBYq4SK/dbRXBzMu7uPw
vmlfXoz5Rztfw1rR6UQC3rnbDfarQLZzu2O8q53SiSOfxxZaTv3BcZSMsXUBTZRB
5H3KHt0gLUmaI6eaRnI8k5OtvouZWGUe/gAKAsU3MGobFsDHUvCHCjo4+IhsZz9p
zER3sV6CBxyqtwlvk5805uE52Lyuow==
=WM5R
-----END PGP SIGNATURE-----