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()
