Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kpipewire6 for openSUSE:Factory 
checked in at 2026-04-10 17:47:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kpipewire6 (Old)
 and      /work/SRC/openSUSE:Factory/.kpipewire6.new.21863 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kpipewire6"

Fri Apr 10 17:47:56 2026 rev:42 rq:1345609 version:6.6.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/kpipewire6/kpipewire6.changes    2026-03-19 
17:34:52.235577972 +0100
+++ /work/SRC/openSUSE:Factory/.kpipewire6.new.21863/kpipewire6.changes 
2026-04-10 17:50:01.042404104 +0200
@@ -1,0 +2,11 @@
+Tue Apr  7 14:59:16 UTC 2026 - Fabian Vogt <[email protected]>
+
+- Update to 6.6.4:
+  * New bugfix release
+  * For more details see https://kde.org/announcements/plasma/6/6.6.4
+- Changes since 6.6.3:
+  * Update version for new release 6.6.4
+  * recording: Disable frame repeat timer for recording to file (kde#518009)
+  * libx264: Use CRF instead of global_quality for constant-quality encoding 
(kde#518009)
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ kpipewire6.spec ++++++
--- /var/tmp/diff_new_pack.cDf53P/_old  2026-04-10 17:50:03.282496342 +0200
+++ /var/tmp/diff_new_pack.cDf53P/_new  2026-04-10 17:50:03.306497331 +0200
@@ -27,7 +27,7 @@
 %{!?_plasma6_version: %define _plasma6_version %(echo %{_plasma6_bugfix} | awk 
-F. '{print $1"."$2}')}
 %bcond_without released
 Name:           kpipewire6
-Version:        6.6.3
+Version:        6.6.4
 Release:        0
 Summary:        PipeWire integration for KDE Plasma
 License:        LGPL-2.0-only AND LGPL-3.0-only

++++++ kpipewire-6.6.3.tar.xz -> kpipewire-6.6.4.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-6.6.3/CMakeLists.txt 
new/kpipewire-6.6.4/CMakeLists.txt
--- old/kpipewire-6.6.3/CMakeLists.txt  2026-03-17 12:02:41.000000000 +0100
+++ new/kpipewire-6.6.4/CMakeLists.txt  2026-04-07 09:55:29.000000000 +0200
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.16)
 project(KPipewire)
-set(PROJECT_VERSION "6.6.3")
+set(PROJECT_VERSION "6.6.4")
 string(REPLACE "." ";" VERSION_LIST ${PROJECT_VERSION})
 list(GET VERSION_LIST 0 PROJECT_VERSION_MAJOR)
 list(GET VERSION_LIST 1 PROJECT_VERSION_MINOR)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-6.6.3/src/libx264encoder.cpp 
new/kpipewire-6.6.4/src/libx264encoder.cpp
--- old/kpipewire-6.6.3/src/libx264encoder.cpp  2026-03-17 12:02:41.000000000 
+0100
+++ new/kpipewire-6.6.4/src/libx264encoder.cpp  2026-04-07 09:55:29.000000000 
+0200
@@ -68,12 +68,6 @@
     m_avCodecContext->pix_fmt = AV_PIX_FMT_YUV420P;
     m_avCodecContext->time_base = AVRational{1, 1000};
 
-    if (m_quality) {
-        m_avCodecContext->global_quality = 
percentageToAbsoluteQuality(m_quality);
-    } else {
-        m_avCodecContext->global_quality = 35;
-    }
-
     switch (m_profile) {
     case H264Profile::Baseline:
         m_avCodecContext->profile = AV_PROFILE_H264_BASELINE;
@@ -111,6 +105,11 @@
 {
     AVDictionary *options = SoftwareEncoder::buildEncodingOptions();
 
+    // libx264 ignores the AVCodecContext global_quality / qscale fields and
+    // requires CRF to be passed as a private option for constant-quality mode.
+    const int crf = m_quality ? percentageToAbsoluteQuality(m_quality) : 35;
+    av_dict_set_int(&options, "crf", crf, 0);
+
     // 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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-6.6.3/src/pipewireproduce.cpp 
new/kpipewire-6.6.4/src/pipewireproduce.cpp
--- old/kpipewire-6.6.3/src/pipewireproduce.cpp 2026-03-17 12:02:41.000000000 
+0100
+++ new/kpipewire-6.6.4/src/pipewireproduce.cpp 2026-04-07 09:55:29.000000000 
+0200
@@ -298,7 +298,9 @@
     auto f = frame;
 
     m_lastFrame = frame;
-    m_frameRepeatTimer->start();
+    if (m_enableFrameRepeat) {
+        m_frameRepeatTimer->start();
+    }
 
     if (frame.cursor) {
         m_cursor.position = frame.cursor->position;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-6.6.3/src/pipewireproduce_p.h 
new/kpipewire-6.6.4/src/pipewireproduce_p.h
--- old/kpipewire-6.6.3/src/pipewireproduce_p.h 2026-03-17 12:02:41.000000000 
+0100
+++ new/kpipewire-6.6.4/src/pipewireproduce_p.h 2026-04-07 09:55:29.000000000 
+0200
@@ -126,6 +126,7 @@
     } m_cursor;
 
     QScopedPointer<QTimer> m_frameRepeatTimer;
+    bool m_enableFrameRepeat = true;
     PipeWireFrame m_lastFrame;
 
     std::thread m_passthroughThread;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-6.6.3/src/pipewirerecord.cpp 
new/kpipewire-6.6.4/src/pipewirerecord.cpp
--- old/kpipewire-6.6.3/src/pipewirerecord.cpp  2026-03-17 12:02:41.000000000 
+0100
+++ new/kpipewire-6.6.4/src/pipewirerecord.cpp  2026-04-07 09:55:29.000000000 
+0200
@@ -94,6 +94,7 @@
     : PipeWireProduce(encoder, nodeId, fd, framerate)
     , m_output(output)
 {
+    m_enableFrameRepeat = false;
 }
 
 bool PipeWireRecordProduce::setupFormat()

Reply via email to