Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kpipewire for openSUSE:Factory 
checked in at 2023-05-11 12:32:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kpipewire (Old)
 and      /work/SRC/openSUSE:Factory/.kpipewire.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kpipewire"

Thu May 11 12:32:14 2023 rev:13 rq:1085885 version:5.27.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/kpipewire/kpipewire.changes      2023-04-05 
21:34:44.906257984 +0200
+++ /work/SRC/openSUSE:Factory/.kpipewire.new.1533/kpipewire.changes    
2023-05-11 12:32:26.050392848 +0200
@@ -1,0 +2,14 @@
+Tue May  9 13:44:08 UTC 2023 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to 5.27.5
+  * New bugfix release
+  * For more details please see:
+  * https://kde.org/announcements/plasma/5/5.27.5
+- Changes since 5.27.4:
+  * Item: hide the cursor when we start getting null positions
+  * Item: Make sure we have a texture at all times
+  * Do not process corrupt frames
+  * Record: Do not crash when closing while recording (kde#467593)
+  * Expose the stream size in PipewireSourceItem
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ kpipewire.spec ++++++
--- /var/tmp/diff_new_pack.ITq9nL/_old  2023-05-11 12:32:26.566395385 +0200
+++ /var/tmp/diff_new_pack.ITq9nL/_new  2023-05-11 12:32:26.570395404 +0200
@@ -21,7 +21,7 @@
 %{!?_plasma5_bugfix: %global _plasma5_bugfix %{version}}
 %bcond_without released
 Name:           kpipewire
-Version:        5.27.4
+Version:        5.27.5
 Release:        0
 Summary:        PipeWire integration for KDE Plasma
 License:        LGPL-2.0-only AND LGPL-3.0-only

++++++ kpipewire-5.27.4.tar.xz -> kpipewire-5.27.5.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-5.27.4/CMakeLists.txt 
new/kpipewire-5.27.5/CMakeLists.txt
--- old/kpipewire-5.27.4/CMakeLists.txt 2023-04-04 12:38:03.000000000 +0200
+++ new/kpipewire-5.27.5/CMakeLists.txt 2023-05-09 13:36:50.000000000 +0200
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.16)
 project(KPipewire)
-set(PROJECT_VERSION "5.27.4")
+set(PROJECT_VERSION "5.27.5")
 set(PROJECT_VERSION_MAJOR 5)
 
 set(KF5_MIN_VERSION "5.102.0")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-5.27.4/po/gl/kpipewire5.po 
new/kpipewire-5.27.5/po/gl/kpipewire5.po
--- old/kpipewire-5.27.4/po/gl/kpipewire5.po    1970-01-01 01:00:00.000000000 
+0100
+++ new/kpipewire-5.27.5/po/gl/kpipewire5.po    2023-05-09 13:36:50.000000000 
+0200
@@ -0,0 +1,33 @@
+# Copyright (C) YEAR This file is copyright:
+# This file is distributed under the same license as the kpipewire package.
+# Adrián Chaves (Gallaecio) <adr...@chaves.io>, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kpipewire\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2022-05-31 00:52+0000\n"
+"PO-Revision-Date: 2023-04-24 07:46+0200\n"
+"Last-Translator: Adrián Chaves (Gallaecio) <adr...@chaves.io>\n"
+"Language-Team: Galician <proxe...@trasno.gal>\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"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.12.3\n"
+
+#: pipewirecore.cpp:86
+#, kde-format
+msgid "Failed to create PipeWire context"
+msgstr "Non se puido crear o contexto de PipeWire"
+
+#: pipewirecore.cpp:96
+#, kde-format
+msgid "Failed to connect to PipeWire"
+msgstr "Non se puido conectar a PipeWire"
+
+#: pipewirecore.cpp:103
+#, kde-format
+msgid "Failed to start main PipeWire loop"
+msgstr "Non se puido iniciar o bucle principal de PipeWire"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-5.27.4/po/ja/kpipewire5.po 
new/kpipewire-5.27.5/po/ja/kpipewire5.po
--- old/kpipewire-5.27.4/po/ja/kpipewire5.po    1970-01-01 01:00:00.000000000 
+0100
+++ new/kpipewire-5.27.5/po/ja/kpipewire5.po    2023-05-09 13:36:50.000000000 
+0200
@@ -0,0 +1,30 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: kpipewire\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2022-05-31 00:52+0000\n"
+"PO-Revision-Date: 2022-06-04 21:24-0700\n"
+"Last-Translator: Japanese KDE translation team <kde...@kde.org>\n"
+"Language-Team: Japanese <kde...@kde.org>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: kde4\n"
+
+#: pipewirecore.cpp:86
+#, kde-format
+msgid "Failed to create PipeWire context"
+msgstr ""
+
+#: pipewirecore.cpp:96
+#, kde-format
+msgid "Failed to connect to PipeWire"
+msgstr ""
+
+#: pipewirecore.cpp:103
+#, kde-format
+msgid "Failed to start main PipeWire loop"
+msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-5.27.4/po/zh_CN/kpipewire5.po 
new/kpipewire-5.27.5/po/zh_CN/kpipewire5.po
--- old/kpipewire-5.27.4/po/zh_CN/kpipewire5.po 2023-04-04 12:38:03.000000000 
+0200
+++ new/kpipewire-5.27.5/po/zh_CN/kpipewire5.po 2023-05-09 13:36:50.000000000 
+0200
@@ -3,7 +3,7 @@
 "Project-Id-Version: kdeorg\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2022-05-31 00:52+0000\n"
-"PO-Revision-Date: 2023-03-27 12:02\n"
+"PO-Revision-Date: 2023-04-29 08:36\n"
 "Last-Translator: \n"
 "Language-Team: Chinese Simplified\n"
 "Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-5.27.4/po/zh_TW/kpipewire5.po 
new/kpipewire-5.27.5/po/zh_TW/kpipewire5.po
--- old/kpipewire-5.27.4/po/zh_TW/kpipewire5.po 1970-01-01 01:00:00.000000000 
+0100
+++ new/kpipewire-5.27.5/po/zh_TW/kpipewire5.po 2023-05-09 13:36:50.000000000 
+0200
@@ -0,0 +1,34 @@
+# Chinese translations for kpipewire package
+# kpipewire 套件的正體中文翻譯.
+# Copyright (C) 2022 This file is copyright:
+# This file is distributed under the same license as the kpipewire package.
+# Automatically generated, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kpipewire\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2022-05-31 00:52+0000\n"
+"PO-Revision-Date: 2022-05-31 00:52+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: pipewirecore.cpp:86
+#, kde-format
+msgid "Failed to create PipeWire context"
+msgstr ""
+
+#: pipewirecore.cpp:96
+#, kde-format
+msgid "Failed to connect to PipeWire"
+msgstr ""
+
+#: pipewirecore.cpp:103
+#, kde-format
+msgid "Failed to start main PipeWire loop"
+msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-5.27.4/src/CMakeLists.txt 
new/kpipewire-5.27.5/src/CMakeLists.txt
--- old/kpipewire-5.27.4/src/CMakeLists.txt     2023-04-04 12:38:03.000000000 
+0200
+++ new/kpipewire-5.27.5/src/CMakeLists.txt     2023-05-09 13:36:50.000000000 
+0200
@@ -49,6 +49,8 @@
 target_link_libraries(KPipeWire PRIVATE Qt::Quick Qt::GuiPrivate KF5::I18n
     KF5::CoreAddons PkgConfig::PipeWire epoxy::epoxy PkgConfig::GBM)
 
+target_compile_definitions(KPipeWire INTERFACE -DKPW_WITH_SOURCESIZE=1)
+
 if (QT_MAJOR_VERSION EQUAL "5")
     target_link_libraries(KPipeWire PRIVATE Qt5::Gui_EGL)
     if (${Qt5Gui_OPENGL_IMPLEMENTATION} STREQUAL "GLESv2")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-5.27.4/src/pipewirerecord.cpp 
new/kpipewire-5.27.5/src/pipewirerecord.cpp
--- old/kpipewire-5.27.4/src/pipewirerecord.cpp 2023-04-04 12:38:03.000000000 
+0200
+++ new/kpipewire-5.27.5/src/pipewirerecord.cpp 2023-05-09 13:36:50.000000000 
+0200
@@ -117,6 +117,10 @@
     if (d->m_fd) {
         close(*d->m_fd);
     }
+
+    if (d->m_recordThread) {
+        d->m_recordThread->wait();
+    }
 }
 
 PipeWireRecord::State PipeWireRecord::state() const
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-5.27.4/src/pipewiresourceitem.cpp 
new/kpipewire-5.27.5/src/pipewiresourceitem.cpp
--- old/kpipewire-5.27.4/src/pipewiresourceitem.cpp     2023-04-04 
12:38:03.000000000 +0200
+++ new/kpipewire-5.27.5/src/pipewiresourceitem.cpp     2023-05-09 
13:36:50.000000000 +0200
@@ -151,6 +151,7 @@
     d->m_createNextTexture = [] {
         return nullptr;
     };
+    Q_EMIT streamSizeChanged();
 }
 
 void PipeWireSourceItem::refresh()
@@ -163,11 +164,16 @@
 
     if (d->m_nodeId == 0) {
         d->m_stream.reset(nullptr);
+        Q_EMIT streamSizeChanged();
+
         d->m_createNextTexture = [] {
             return nullptr;
         };
     } else {
         d->m_stream.reset(new PipeWireSourceStream(this));
+        Q_EMIT streamSizeChanged();
+        connect(d->m_stream.get(), 
&PipeWireSourceStream::streamParametersChanged, this, 
&PipeWireSourceItem::streamSizeChanged);
+
         d->m_stream->createStream(d->m_nodeId, d->m_fd.value_or(0));
         if (!d->m_stream->error().isEmpty()) {
             d->m_stream.reset(nullptr);
@@ -279,7 +285,7 @@
         pwNode->discardCursor();
     } else {
         QSGImageNode *cursorNode = pwNode->cursorNode(window());
-        if (d->m_cursor.dirty) {
+        if (d->m_cursor.dirty || !cursorNode->texture()) {
             
cursorNode->setTexture(window()->createTextureFromImage(d->m_cursor.texture));
             d->m_cursor.dirty = false;
         }
@@ -322,6 +328,9 @@
             d->m_cursor.dirty = true;
             d->m_cursor.texture = frame.cursor->texture;
         }
+    } else {
+        d->m_cursor.position = std::nullopt;
+        d->m_cursor.hotspot = {};
     }
 
     if (frame.dmabuf) {
@@ -442,3 +451,11 @@
 {
     return d->m_nodeId;
 }
+
+QSize PipeWireSourceItem::streamSize() const
+{
+    if (!d->m_stream) {
+        return QSize();
+    }
+    return d->m_stream->size();
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-5.27.4/src/pipewiresourceitem.h 
new/kpipewire-5.27.5/src/pipewiresourceitem.h
--- old/kpipewire-5.27.4/src/pipewiresourceitem.h       2023-04-04 
12:38:03.000000000 +0200
+++ new/kpipewire-5.27.5/src/pipewiresourceitem.h       2023-05-09 
13:36:50.000000000 +0200
@@ -44,6 +44,12 @@
      * Transfers the ownership of the fd, will close it when it's done with it.
      */
     Q_PROPERTY(uint fd READ fd WRITE setFd NOTIFY fdChanged RESET resetFd)
+
+    /**
+     * Returns the size of the source being rendered
+     * @note: This won't be updated until the first frame is recieved
+     */
+    Q_PROPERTY(QSize streamSize READ streamSize NOTIFY streamSizeChanged)
 public:
     enum class StreamState { Error, Unconnected, Connecting, Paused, Streaming 
};
     Q_ENUM(StreamState);
@@ -61,6 +67,8 @@
     void resetFd();
     uint fd() const;
 
+    QSize streamSize() const;
+
     void componentComplete() override;
     void releaseResources() override;
 
@@ -70,6 +78,7 @@
     void nodeIdChanged(uint nodeId);
     void fdChanged(uint fd);
     void stateChanged();
+    void streamSizeChanged();
 
 private:
     void itemChange(ItemChange change, const ItemChangeData &data) override;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpipewire-5.27.4/src/pipewiresourcestream.cpp 
new/kpipewire-5.27.5/src/pipewiresourcestream.cpp
--- old/kpipewire-5.27.4/src/pipewiresourcestream.cpp   2023-04-04 
12:38:03.000000000 +0200
+++ new/kpipewire-5.27.5/src/pipewiresourcestream.cpp   2023-05-09 
13:36:50.000000000 +0200
@@ -477,7 +477,7 @@
         }
     }
 
-    if (spaBuffer->datas->chunk->size == 0) {
+    if (spaBuffer->datas->chunk->size == 0 || spaBuffer->datas->chunk->flags 
== SPA_CHUNK_FLAG_CORRUPTED) {
         // do not get a frame
     } else if (spaBuffer->datas->type == SPA_DATA_MemFd) {
         if (spaBuffer->datas->chunk->size == 0)

Reply via email to