Accepting request 1143072 from home:alarrosa:branches:multimedia:libs

- Update to version 1.0.2:
  * Highlights
    - Fix v4l2 enumeration with filter. This should fix negotiation
      in some GStreamer pipelines with capsfilter. Also probe for
      EXPBUF support before using it.
    - Fix max-latency property and Buffer param when dealing with
      small ALSA device buffers. This should fix stuttering with
      some AMD based soundcards.
    - More small cleanups an improvements.
  * Modules
    - Improve netjack2 channel positions.
    - Improve RAOP module state after suspend/resume. (#3778)
    - Avoid crash in some LV2 plugins by configuring the Atom
      ports. (#3815)
  * SPA
    - Bump libcamera requirements to 0.2.0.
    - Try to avoid unaligned load exceptions. (#3790)
    - Fix v4l2 enumeration with filter. (#1793)
    - Fix max-latency property and Buffer param when dealing with
      small ALSA device buffers. This should fix stuttering with
      some AMD based soundcards. (#3744,#3622)
    - Add a resync.ms option to node.driver to make it possible to
      resync fast to clock jumps.
    - Probe for EXPBUF support in v4l2 before using it. (#3821)
  * pulse-server
    - Also emit change events when the port list change.
  * Bluetooth
    - Log a more verbose explanation when other soundservers seem
      to be interfering with bluetooth.
    - Add quirks for Rockbox Brick. (#3786)

OBS-URL: https://build.opensuse.org/request/show/1143072
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=178
This commit is contained in:
Antonio Larrosa 2024-01-31 15:59:28 +00:00 committed by Git OBS Bridge
parent 7faeb1727f
commit 5af5b06ac7
8 changed files with 49 additions and 145 deletions

View File

@ -1,80 +0,0 @@
From 268f4856f852d72a749932630223f928acd1a704 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <pobrn@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

View File

@ -1,45 +0,0 @@
From 4b145ad444b8fc70b6cb375b6447e9c9793e2238 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <pobrn@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

View File

@ -3,7 +3,7 @@
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://gitlab.freedesktop.org/pipewire/pipewire.git</param>
<param name="revision">1.0.1</param>
<param name="revision">1.0.2</param>
<param name="versionformat">@PARENT_TAG@</param>
<!--
<param name="revision">master</param>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b5bc73ca7c39cb11d343d467f8a454e957f8df1dc1c2480c0d4a84284fb4c1c8
size 12431885

3
pipewire-1.0.2.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:136369d2a8769f00519ed535e4853b1d62de619576e0f23f3c4314b28883af86
size 12437005

View File

@ -1,3 +1,43 @@
-------------------------------------------------------------------
Wed Jan 31 15:45:16 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
- Update to version 1.0.2:
* Highlights
- Fix v4l2 enumeration with filter. This should fix negotiation
in some GStreamer pipelines with capsfilter. Also probe for
EXPBUF support before using it.
- Fix max-latency property and Buffer param when dealing with
small ALSA device buffers. This should fix stuttering with
some AMD based soundcards.
- More small cleanups an improvements.
* Modules
- Improve netjack2 channel positions.
- Improve RAOP module state after suspend/resume. (#3778)
- Avoid crash in some LV2 plugins by configuring the Atom
ports. (#3815)
* SPA
- Bump libcamera requirements to 0.2.0.
- Try to avoid unaligned load exceptions. (#3790)
- Fix v4l2 enumeration with filter. (#1793)
- Fix max-latency property and Buffer param when dealing with
small ALSA device buffers. This should fix stuttering with
some AMD based soundcards. (#3744,#3622)
- Add a resync.ms option to node.driver to make it possible to
resync fast to clock jumps.
- Probe for EXPBUF support in v4l2 before using it. (#3821)
* pulse-server
- Also emit change events when the port list change.
* Bluetooth
- Log a more verbose explanation when other soundservers seem
to be interfering with bluetooth.
- Add quirks for Rockbox Brick. (#3786)
- Add quirks for SoundCore mini2. (#2927)
* JACK
- Improve check for the running state of clients. (#3794)
- Drop patches already included by upstream:
* 0001-spa-libcamera-use-CameraConfigurationorientation.patch
* 0002-spa-libcamera-bump-minimum-supported-version-to-0.2.0.patch
-------------------------------------------------------------------
Mon Jan 22 11:34:04 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>

View File

@ -1,4 +1,4 @@
name: pipewire
version: 1.0.1
mtime: 1704889827
commit: 79b98884af80329f59596906231da5597bcdb7b6
version: 1.0.2
mtime: 1706693855
commit: 9ba18c15ae774c83a38783dc72fd8c3fa60c726f

View File

@ -62,7 +62,7 @@
%bcond_with aptx
Name: pipewire
Version: 1.0.1
Version: 1.0.2
Release: 0
Summary: A Multimedia Framework designed to be an audio and video server and more
License: MIT
@ -72,10 +72,6 @@ Source0: %{name}-%{version}.tar.xz
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
@ -119,7 +115,7 @@ BuildRequires: %{ffmpeg_pref}-mini-devel
%endif
BuildRequires: pkgconfig(lc3)
%if %{with libcamera}
BuildRequires: libcamera-devel >= 0.0.1
BuildRequires: libcamera-devel >= 0.2.0
%endif
BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(libcap)
@ -392,13 +388,6 @@ sed -ie "s/version : '0.3.72'/version : '%{version}'/" %{P:0}
%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