Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pipewire for openSUSE:Factory 
checked in at 2024-01-22 20:31:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pipewire (Old)
 and      /work/SRC/openSUSE:Factory/.pipewire.new.16006 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pipewire"

Mon Jan 22 20:31:06 2024 rev:103 rq:1140584 version:1.0.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/pipewire/pipewire.changes        2024-01-12 
23:44:42.249010971 +0100
+++ /work/SRC/openSUSE:Factory/.pipewire.new.16006/pipewire.changes     
2024-01-22 20:31:14.366675924 +0100
@@ -1,0 +2,8 @@
+Mon Jan 22 11:34:04 UTC 2024 - Antonio Larrosa <alarr...@suse.com>
+
+- Add patches from upstream to fix building the package in Factory
+  with libcamera 0.2.0:
+  * 0001-spa-libcamera-use-CameraConfigurationorientation.patch
+  * 0002-spa-libcamera-bump-minimum-supported-version-to-0.2.0.patch
+
+-------------------------------------------------------------------

New:
----
  0001-spa-libcamera-use-CameraConfigurationorientation.patch
  0002-spa-libcamera-bump-minimum-supported-version-to-0.2.0.patch

BETA DEBUG BEGIN:
  New:  with libcamera 0.2.0:
  * 0001-spa-libcamera-use-CameraConfigurationorientation.patch
  * 0002-spa-libcamera-bump-minimum-supported-version-to-0.2.0.patch
  New:  * 0001-spa-libcamera-use-CameraConfigurationorientation.patch
  * 0002-spa-libcamera-bump-minimum-supported-version-to-0.2.0.patch
BETA DEBUG END:

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

Other differences:
------------------
++++++ pipewire.spec ++++++
--- /var/tmp/diff_new_pack.52qpis/_old  2024-01-22 20:31:15.434714973 +0100
+++ /var/tmp/diff_new_pack.52qpis/_new  2024-01-22 20:31:15.434714973 +0100
@@ -72,6 +72,10 @@
 Source99:       baselibs.conf
 # PATCH-FIX-OPENSUSE reduce-meson-dependency.patch
 Patch0:         reduce-meson-dependency.patch
+# PATCH-FIX-UPSTREAM 
0001-spa-libcamera-use-CameraConfigurationorientation.patch
+Patch1:         0001-spa-libcamera-use-CameraConfigurationorientation.patch
+# PATCH-FIX-UPSTREAM 
0002-spa-libcamera-bump-minimum-supported-version-to-0.2.0.patch
+Patch2:         
0002-spa-libcamera-bump-minimum-supported-version-to-0.2.0.patch
 
 BuildRequires:  docutils
 BuildRequires:  doxygen
@@ -388,6 +392,13 @@
 %patch0 -p1
 %endif
 
+%if %{with libcamera}
+%if %{?pkg_vcmp:%{pkg_vcmp libcamera-devel >= 0.2.0}}
+%patch1 -p1
+%patch2 -p1
+%endif
+%endif
+
 %build
 %if %{pkg_vcmp gcc < 8}
 export CC=gcc-11

++++++ 0001-spa-libcamera-use-CameraConfigurationorientation.patch ++++++
>From 268f4856f852d72a749932630223f928acd1a704 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <po...@protonmail.com>
Date: Sat, 28 Oct 2023 02:09:06 +0200
Subject: [PATCH] spa: libcamera: use `CameraConfiguration::orientation`

libcamera commit cc65629b68d49d ("libcamera: camera: Introduce Orientation") [0]
introduced to the `CameraConfiguration::orientation` member to describe the
orientation of the image in the received memory buffers.

Then c65e40b8480ffb ("libcamera: Use CameraConfiguration::orientation") [1]
removed `CameraConfiguration::transform`, which broke the libcamera plugin.

Fix that by using the new `orientation` member.

[0]: 
https://git.linuxtv.org/libcamera.git/commit/?id=cc65629b68d49d5f2a4d61537584c56ba510a335
[1]: 
https://git.linuxtv.org/libcamera.git/commit/?id=c65e40b8480ffb5f50e01a4e6713164c7194a937
---
 spa/plugins/libcamera/libcamera-utils.cpp | 36 +++++++++++------------
 1 file changed, 17 insertions(+), 19 deletions(-)

diff --git a/spa/plugins/libcamera/libcamera-utils.cpp 
b/spa/plugins/libcamera/libcamera-utils.cpp
index 2b1aea5a76..c197248d30 100644
--- a/spa/plugins/libcamera/libcamera-utils.cpp
+++ b/spa/plugins/libcamera/libcamera-utils.cpp
@@ -716,25 +716,23 @@ static int spa_libcamera_use_buffers(struct impl *impl, 
struct port *port,
 }
 
 static const struct {
-       Transform libcamera_transform;
-       uint32_t spa_transform_value;
-} transform_map[] = {
-       { Transform::Identity, SPA_META_TRANSFORMATION_None },
-       { Transform::Rot0, SPA_META_TRANSFORMATION_None },
-       { Transform::HFlip, SPA_META_TRANSFORMATION_Flipped },
-       { Transform::VFlip, SPA_META_TRANSFORMATION_Flipped180 },
-       { Transform::HVFlip, SPA_META_TRANSFORMATION_180 },
-       { Transform::Rot180, SPA_META_TRANSFORMATION_180 },
-       { Transform::Transpose, SPA_META_TRANSFORMATION_Flipped90 },
-       { Transform::Rot90, SPA_META_TRANSFORMATION_90 },
-       { Transform::Rot270, SPA_META_TRANSFORMATION_270 },
-       { Transform::Rot180Transpose, SPA_META_TRANSFORMATION_Flipped270 },
+       Orientation libcamera_orientation; /* clockwise rotation then 
horizontal mirroring */
+       uint32_t spa_transform_value; /* horizontal mirroring then 
counter-clockwise rotation */
+} orientation_map[] = {
+       { Orientation::Rotate0, SPA_META_TRANSFORMATION_None },
+       { Orientation::Rotate0Mirror, SPA_META_TRANSFORMATION_Flipped },
+       { Orientation::Rotate90, SPA_META_TRANSFORMATION_270 },
+       { Orientation::Rotate90Mirror, SPA_META_TRANSFORMATION_Flipped90 },
+       { Orientation::Rotate180, SPA_META_TRANSFORMATION_180 },
+       { Orientation::Rotate180Mirror, SPA_META_TRANSFORMATION_Flipped180 },
+       { Orientation::Rotate270, SPA_META_TRANSFORMATION_90 },
+       { Orientation::Rotate270Mirror, SPA_META_TRANSFORMATION_Flipped270 },
 };
 
-static uint32_t libcamera_transform_to_spa_transform_value(Transform transform)
+static uint32_t libcamera_orientation_to_spa_transform_value(Orientation 
orientation)
 {
-       for (const auto& t : transform_map) {
-               if (t.libcamera_transform == transform)
+       for (const auto& t : orientation_map) {
+               if (t.libcamera_orientation == orientation)
                        return t.spa_transform_value;
        }
        return SPA_META_TRANSFORMATION_None;
@@ -788,9 +786,9 @@ mmap_init(struct impl *impl, struct port *port,
                        buffers[i], SPA_META_VideoTransform, 
sizeof(*b->videotransform));
                if (b->videotransform) {
                        b->videotransform->transform =
-                               
libcamera_transform_to_spa_transform_value(impl->config->transform);
-                       spa_log_debug(impl->log, "Setting videotransform for 
buffer %d to %u (from %s)",
-                               i, b->videotransform->transform, 
transformToString(impl->config->transform));
+                               
libcamera_orientation_to_spa_transform_value(impl->config->orientation);
+                       spa_log_debug(impl->log, "Setting videotransform for 
buffer %u to %u",
+                               i, b->videotransform->transform);
 
                }
 
-- 
GitLab


++++++ 0002-spa-libcamera-bump-minimum-supported-version-to-0.2.0.patch ++++++
>From 4b145ad444b8fc70b6cb375b6447e9c9793e2238 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <po...@protonmail.com>
Date: Tue, 9 Jan 2024 19:22:07 +0100
Subject: [PATCH] spa: libcamera: bump minimum supported version to 0.2.0

---
 spa/meson.build                            | 3 +--
 spa/plugins/libcamera/libcamera-device.cpp | 2 --
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/spa/meson.build b/spa/meson.build
index 841d27b409..ac20844ce3 100644
--- a/spa/meson.build
+++ b/spa/meson.build
@@ -96,9 +96,8 @@ if get_option('spa-plugins').allowed()
   endif
   summary({'Vulkan': have_vulkan}, bool_yn: true, section: 'Misc dependencies')
 
-  libcamera_dep = dependency('libcamera', required: get_option('libcamera'))
+  libcamera_dep = dependency('libcamera', version: '>= 0.2.0', required: 
get_option('libcamera'))
   summary({'libcamera': libcamera_dep.found()}, bool_yn: true, section: 
'Backend')
-  cdata.set('HAVE_LIBCAMERA_SYSTEM_DEVICES', 
libcamera_dep.version().version_compare('>= 0.1.0'))
 
   compress_offload_option = get_option('compress-offload')
   summary({'Compress-Offload': compress_offload_option.allowed()}, bool_yn: 
true, section: 'Backend')
diff --git a/spa/plugins/libcamera/libcamera-device.cpp 
b/spa/plugins/libcamera/libcamera-device.cpp
index 0abf2f6195..b25a4eb728 100644
--- a/spa/plugins/libcamera/libcamera-device.cpp
+++ b/spa/plugins/libcamera/libcamera-device.cpp
@@ -61,12 +61,10 @@ struct impl {
 static const libcamera::Span<const int64_t> cameraDevice(
                        const Camera *camera)
 {
-#ifdef HAVE_LIBCAMERA_SYSTEM_DEVICES
        const ControlList &props = camera->properties();
 
        if (auto devices = props.get(properties::SystemDevices))
                return devices.value();
-#endif
 
        return {};
 }
-- 
GitLab

Reply via email to