Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kpipewire6 for openSUSE:Factory 
checked in at 2024-11-06 16:50:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kpipewire6 (Old)
 and      /work/SRC/openSUSE:Factory/.kpipewire6.new.2020 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kpipewire6"

Wed Nov  6 16:50:28 2024 rev:16 rq:1221534 version:6.2.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/kpipewire6/kpipewire6.changes    2024-10-24 
15:41:25.088782496 +0200
+++ /work/SRC/openSUSE:Factory/.kpipewire6.new.2020/kpipewire6.changes  
2024-11-06 16:51:24.818716654 +0100
@@ -1,0 +2,11 @@
+Tue Nov  5 13:30:18 UTC 2024 - Fabian Vogt <[email protected]>
+
+- Update to 6.2.3:
+  * New bugfix release
+  * For more details see https://kde.org/announcements/plasma/6/6.2.3
+- Changes since 6.2.2:
+  * update version for new release
+  * libx264encoder: Ensure stream size is always a multiple of 2 (kde#485733)
+  * encoder: Make it possble to override the filter graph used for software 
encode
+
+-------------------------------------------------------------------

Old:
----
  kpipewire-6.2.2.tar.xz
  kpipewire-6.2.2.tar.xz.sig

New:
----
  kpipewire-6.2.3.tar.xz
  kpipewire-6.2.3.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kpipewire6.spec ++++++
--- /var/tmp/diff_new_pack.kg1T9r/_old  2024-11-06 16:51:25.430742191 +0100
+++ /var/tmp/diff_new_pack.kg1T9r/_new  2024-11-06 16:51:25.434742358 +0100
@@ -27,7 +27,7 @@
 %{!?_plasma6_version: %define _plasma6_version %(echo %{_plasma6_bugfix} | awk 
-F. '{print $1"."$2}')}
 %bcond_without released
 Name:           kpipewire6
-Version:        6.2.2
+Version:        6.2.3
 Release:        0
 Summary:        PipeWire integration for KDE Plasma
 License:        LGPL-2.0-only AND LGPL-3.0-only

++++++ kpipewire-6.2.2.tar.xz -> kpipewire-6.2.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-6.2.2/CMakeLists.txt 
new/kpipewire-6.2.3/CMakeLists.txt
--- old/kpipewire-6.2.2/CMakeLists.txt  2024-10-22 14:55:48.000000000 +0200
+++ new/kpipewire-6.2.3/CMakeLists.txt  2024-11-05 13:35:17.000000000 +0100
@@ -1,5 +1,5 @@
 cmake_minimum_required(VERSION 3.16)
-project(KPipewire VERSION "6.2.2")
+project(KPipewire VERSION "6.2.3")
 
 set(KF6_MIN_VERSION "6.5.0")
 find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-6.2.2/po/ar/kpipewire6.po 
new/kpipewire-6.2.3/po/ar/kpipewire6.po
--- old/kpipewire-6.2.2/po/ar/kpipewire6.po     2024-10-22 14:55:48.000000000 
+0200
+++ new/kpipewire-6.2.3/po/ar/kpipewire6.po     2024-11-05 13:35:17.000000000 
+0100
@@ -1,7 +1,7 @@
-# Copyright (C) YEAR This file is copyright:
+# Copyright (C) 2024 This file is copyright:
 # This file is distributed under the same license as the kpipewire package.
+# SPDX-FileCopyrightText: 2022, 2024 Zayed Al-Saidi <[email protected]>
 #
-# Zayed Al-Saidi <[email protected]>, 2022.
 msgid ""
 msgstr ""
 "Project-Id-Version: kpipewire\n"
@@ -16,6 +16,7 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
 "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
+"X-Generator: Lokalize 23.08.5\n"
 
 #: pipewirecore.cpp:98
 #, kde-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-6.2.2/po/nn/kpipewire6.po 
new/kpipewire-6.2.3/po/nn/kpipewire6.po
--- old/kpipewire-6.2.2/po/nn/kpipewire6.po     2024-10-22 14:55:48.000000000 
+0200
+++ new/kpipewire-6.2.3/po/nn/kpipewire6.po     2024-11-05 13:35:17.000000000 
+0100
@@ -1,6 +1,5 @@
 # Translation of kpipewire6 to Norwegian Nynorsk
 #
-# Karl Ove Hufthammer <[email protected]>, 2022.
 msgid ""
 msgstr ""
 "Project-Id-Version: kpipewire\n"
@@ -14,7 +13,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Lokalize 22.04.2\n"
+"X-Generator: Lokalize 24.11.70\n"
 "X-Environment: kde\n"
 "X-Accelerator-Marker: &\n"
 "X-Text-Markup: kde4\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-6.2.2/src/encoder.cpp 
new/kpipewire-6.2.3/src/encoder.cpp
--- old/kpipewire-6.2.2/src/encoder.cpp 2024-10-22 14:55:48.000000000 +0200
+++ new/kpipewire-6.2.3/src/encoder.cpp 2024-11-05 13:35:17.000000000 +0100
@@ -314,7 +314,7 @@
     outputs->pad_idx = 0;
     outputs->next = nullptr;
 
-    ret = avfilter_graph_parse(m_avFilterGraph, "format=pix_fmts=yuv420p", 
outputs, inputs, NULL);
+    ret = avfilter_graph_parse(m_avFilterGraph, 
m_filterGraphToParse.toUtf8().data(), outputs, inputs, NULL);
     if (ret < 0) {
         qCWarning(PIPEWIRERECORD_LOGGING) << "Failed creating filter graph";
         return false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-6.2.2/src/encoder_p.h 
new/kpipewire-6.2.3/src/encoder_p.h
--- old/kpipewire-6.2.2/src/encoder_p.h 2024-10-22 14:55:48.000000000 +0200
+++ new/kpipewire-6.2.3/src/encoder_p.h 2024-11-05 13:35:17.000000000 +0100
@@ -135,6 +135,15 @@
      */
     bool createFilterGraph(const QSize &size);
 
+    /**
+     * The filter graph to be passed to FFmpeg to parse.
+     *
+     * Adjust this if you need to insert any extra filters in between input and
+     * output filters.
+     *
+     * Make sure that the output format of the filter graph is yuv420p.
+     */
+    QString m_filterGraphToParse = QStringLiteral("format=pix_fmts=yuv420p");
     DmaBufHandler m_dmaBufHandler;
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-6.2.2/src/libx264encoder.cpp 
new/kpipewire-6.2.3/src/libx264encoder.cpp
--- old/kpipewire-6.2.2/src/libx264encoder.cpp  2024-10-22 14:55:48.000000000 
+0200
+++ new/kpipewire-6.2.3/src/libx264encoder.cpp  2024-11-05 13:35:17.000000000 
+0100
@@ -20,10 +20,16 @@
 
 #include "logging_record.h"
 
+using namespace Qt::StringLiterals;
+
 LibX264Encoder::LibX264Encoder(H264Profile profile, PipeWireProduce *produce)
     : SoftwareEncoder(produce)
     , m_profile(profile)
 {
+    // Adjust the filter graph to ensure we are using an even frame size using 
a
+    // pad filter. Otherwise the size adjustment below will insert a row/column
+    // of garbage instead of black.
+    m_filterGraphToParse = 
u"pad=ceil(iw/2)*2:ceil(ih/2)*2,format=pix_fmts=yuv420p"_s;
 }
 
 bool LibX264Encoder::initialize(const QSize &size)
@@ -43,8 +49,12 @@
     }
 
     Q_ASSERT(!size.isEmpty());
-    m_avCodecContext->width = size.width();
-    m_avCodecContext->height = size.height();
+    // Important: libx264 rejects streams with sizes that are not even. So to
+    // ensure we don't get errors, we need to ensure the size we set here is
+    // even. We also insert a pad filter into the filter chain above to ensure
+    // we don't end up padding with garbage.
+    m_avCodecContext->width = std::ceil(size.width() / 2) * 2;
+    m_avCodecContext->height = std::ceil(size.height() / 2) * 2;
     m_avCodecContext->max_b_frames = 0;
     m_avCodecContext->gop_size = 100;
     m_avCodecContext->pix_fmt = AV_PIX_FMT_YUV420P;

Reply via email to