Accepting request 1183418 from multimedia:libs

OBS-URL: https://build.opensuse.org/request/show/1183418
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=117
This commit is contained in:
Ana Guerrero 2024-06-27 13:58:00 +00:00 committed by Git OBS Bridge
commit 7261456735
7 changed files with 254 additions and 10 deletions

View File

@ -0,0 +1,25 @@
From 69251948eeee350d21f3603225aaba6167e842ee Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Tue, 18 Jun 2024 15:16:06 +0200
Subject: [PATCH] vulkan: fix compilation
---
spa/plugins/vulkan/vulkan-compute-filter.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/spa/plugins/vulkan/vulkan-compute-filter.c b/spa/plugins/vulkan/vulkan-compute-filter.c
index c970d8b181..397003620d 100644
--- a/spa/plugins/vulkan/vulkan-compute-filter.c
+++ b/spa/plugins/vulkan/vulkan-compute-filter.c
@@ -663,7 +663,7 @@ static int impl_node_process(void *object)
SPA_FLAG_SET(b->flags, BUFFER_FLAG_OUT);
this->state.streams[outport->stream_id].pending_buffer_id = b->id;
- this->state.constants.time += 0.025;
+ this->state.constants.time += 0.025f;
this->state.constants.frame++;
spa_log_debug(this->log, "filter into %d", b->id);
--
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.7</param>
<param name="revision">1.1.83</param>
<param name="versionformat">@PARENT_TAG@</param>
<!--
<param name="revision">60deeb25558a794e6e664bb832318b87958c18ea</param>

View File

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

3
pipewire-1.1.83.obscpio Normal file
View File

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

View File

@ -1,3 +1,216 @@
-------------------------------------------------------------------
Wed Jun 26 09:54:23 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
- Update to version 1.1.83:
* This is the third and hopefully the last 1.2 release candidate
that is API and ABI compatible with previous 1.0.x releases.
* Highlights
- Rework how peers are linked and the counters are updated.
Resume the peers when a node is unlinked and not yet
processed. This should cause less occasional dropouts in the
graph when reconnecting things.
- Improve xruns in module-ffado.
- Many GStreamer element updates.
- More fixes and improvements.
* PipeWire
- Rework how peers are linked and the counters are updated.
Resume the peers when a node is unlinked and not yet
processed. This should cause less dropouts in the graph when
reconnecting. (#4026)
- Improve debug of xruns.
- Evaluate node.rules and device.rules before loading the
plugin so that extra properties can be passed to the plugin
init function.
* Modules
- Improve timing reporting in module-ffado some more.
- Prealloc less memory in the profiler by default.
- Improve xrun handling in module-ffado.
* Tools
- Fix a crash in pw-link when a link fails.
- Fix pw-dump update for metadata. (#4053)
* SPA
- Improve handling of controls. (#4028)
- Fix the string size in v4l2 to hold the device and vendor id.
- Support meta_videotransform on buffers in v4l2. This can be
used to signal that the buffer was rotated for example.
- Add HDMI/AC3 profile to ALSA when supported.
- Make it possible to disable the webrtc dependency
* GStreamer
- Improve caps handling in the elements.
- Set buffer duration when we can.
- Post an element error when all the elements buffers are
removed. (#1980)
- Improve DMA_DRM caps selection.
- Some refactoring work.
- Improve state handling in the elements.
* JACK
- Improve how links are activated.
- Fix some races when freeing memory.
* Bluetooth
- Support multiple BIS in the broadcast source.
- Add patch recommended by upstream to fix compilation for vulkan:
* 0001-vulkan-fix-compilation.patch
- Update to version 1.1.82:
* This is the second 1.2 release candidate that is API and ABI
compatible with previous 1.0.x releases.
* Highlights
- Fix problem when moving nodes that could cause nodes to be
scheduled wrongly and cause errors. (#4017)
- Add snapcast-discover module to stream to snapcast servers.
- Work around wrong kernel provided MTU for USB controllers.
- Fix some spelling mistakes all over the codebase.
- More small fixes and improvements.
* PipeWire
- Remove the private cleanup.h header and use the public SPA
version.
- Fix problem when moving nodes that could cause nodes to be
scheduled wrongly and cause errors. (#4017)
* Modules
- Handle IPv6 in module-protocol-simple and support port
allocation.
- Add snapcast-discover module to stream to snapcast servers.
* Bluetooth
- Work around wrong kernel provided MTU for USB controllers.
- Update to version 1.1.81:
* This is the first 1.2 release candidate that is API and ABI
compatible with previous 1.0.x releases.
* Highlights
- Support for asynchronous processing has been implemented.
Nodes can choose (or be forced) to be scheduled
asynchronously. The graph will not wait for the output of the
node to continue processing but it will use the output of the
previous cycle (or silence) instead. This adds one cycle of
latency but it can avoid having some nodes blocking the
processing graph. Non realtime streams and filters now also
use this asynchronous processing instead of their own
slightly broken version.
- The concept of node.sync-group was added. This groups nodes
with overlapping sync-group together when one of them sets
the node.sync = true. This is now used to make sure all nodes
are scheduled together when JACK transport is started so that
they all see the same time.
- Config parsing errors are reported earlier and much better
with line and column numbers where the parsing started to
fail.
- Add support for mandatory metadata when negotiation buffer
parameters. This can be used to only negotiate extra buffer
planes when certain metadata is negotiated. One use case is
the explicit sync support that requires 2 extra fds for the
timelines.
- Support was added for making and using multiple data-loops in
the server and clients. Support for CPU affinity and
priorities was added to the data-loops as well.
- The log topic debug levels can now be changed at runtime with
metadata.
- The log levels in the pulse server can be dynamically changed
with a /core message.
- The UCM conflicting devices patches were merged.
* PipeWire
- snap support has been added.
- Implement async processing. (#3509)
- Support for explicit sync was added.
- Config parsing errors are reported earlier and much better.
- A -P option was added to provide extra properties to the
context. This can be used to enable some features that use
rules.
- properties.rules was added to enhance properties based on
some rules. This deprecates the vm.overrides.
- Support was added for security-context. This makes it
possible for a flatpak to request a socket with specific
properties from pipewire to mount in the flatpak. The session
manager can then assign permissions based on the connection
properties.
- Support for fixed arrays in pw_array was improved.
- Pipewire server and clients can now use multiple threads to
process the nodes in parallel.
- device.rules and node.rules were added to update device and
node properties based on rules.
- device.param and node.param can now be used to configure
params when devices and nodes are created.
- Memory will now try to use MFD_NOEXEC_SEAL.
- The driver id of a node is now placed in the properties.
- A potential race was fixed when adding and removing ports to
the scheduling lists.
* Modules
- Priorities for the FFADO threads can be configured now.
- The loopback module now has support for up and downmixing.
- Extra properties can now be configured per native-connection
socket.
- The pulse-tunnel can now automatically reconnect when the
connection is broken.
- The RTP module now supports the PTP management protocol.
- The RTP sender can now use a timer to send out multiple
packets per quantum.
- A new module was added for loading Parametric EQ.
- The simple-protocol module now has per stream configurable
properties and can also be used to interface with a snapcast
server.
- Support for local services was added to raop, rtp and pulse
avahi discoverers. Support for IPv6 on local services was
added to RAOP.
* SPA
- Support for reporting JSON parsing errors has been added.
- Some extra checks are added when iterating POD structures.
- Port and profiles can now be hidden from ALSA nodes with
api.acp.hidden-ports and api.acp.hidden-profiles properties.
- The UCM conflicting devices patches were merged.
- Profiles and Routes can now also be set by name.
- Hires timestamps are now used when possible in IRQ based
scheduling to get more accurate wakup times.
- udev can now be an optional dependency.
- audioadapter now has an option to automatically configure
its ports.
- Camera rotation was added to the libcamera node.
- invoke on loops can now be done from multiple threads at the
same time.
- Make sure we use CLOCK_MONOTONIC everywhere in the io_clock.
- Vulkan bit and convert filters were added.
- ALSA will now always read the HW ringbuffer pointer when
followers are not on the same card.
- Support for larger MIDI sysex messages was improved.
Configuration of the client input and output pool was added.
(#4005)
* Bluetooth
- Support Google OPUS codec.
- Support the LC3-SWB codec.
- Support the AAC-ELD codec.
- Broadcast source configuration support was added.
* pulseaudio-server
- The GSettings schemas are now optionally installed.
- Extensions were moved to the modules.
- The log level of the pulse server can dynamically be changed
with a core object message.
- snap access control was added to pulse-server.
- The old pacmd describe-module functionality is now
implemented with a core message
pipewire-pulse:describe-module.
- An option was added to disable module loading and unloading.
* JACK
- OSC messages can now also be placed in JACK MIDI and the
translation layer will detect and tag the right PipeWire
control message types.
- A jack.other-connect-mode was added to limit the connections
that an app can do to ports it doesn't own.
- The way the transport is started and how the nodes are
grouped together in the transport was improved using the new
sync groups. (#3850)
- Fix large MIDI messages handling. (#4005)
* ALSA
- Fix format renegotiation. (#3858)
- Handle period events better. (#3676)
- Improve handling of the eventfd wakeups.
* GStreamer
- The GStreamer elements can now negotiate and use DMABUF.
* Tools
- The T flag is used in pw-top when the transport is running.
- A new pw-container tool was added to start a new security
context and run an application in it.
- pw-dot handles properties with quotes better. Nodes are
grouped with the node.link-group.
- pw-link has a --wait option to wait for all links to be created.
-------------------------------------------------------------------
Mon Jun 10 10:12:03 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>

View File

@ -1,4 +1,4 @@
name: pipewire
version: 1.0.7
mtime: 1716541956
commit: 59fe89d41a67f6daad086f8f3fe522935be77a3f
version: 1.1.83
mtime: 1718707660
commit: ae7ec595a2398ddca4950281ac957e09512e6290

View File

@ -62,7 +62,7 @@
%bcond_with aptx
Name: pipewire
Version: 1.0.7
Version: 1.1.83
Release: 0
Summary: A Multimedia Framework designed to be an audio and video server and more
License: MIT
@ -72,6 +72,8 @@ Source0: %{name}-%{version}.tar.xz
Source99: baselibs.conf
# PATCH-FIX-OPENSUSE reduce-meson-dependency.patch
Patch0: reduce-meson-dependency.patch
# PATCH-FIX-UPSTREAM 0001-vulkan-fix-compilation.patch
Patch1: 0001-vulkan-fix-compilation.patch
BuildRequires: docutils
%if 0%{suse_version} > 1500
@ -121,6 +123,7 @@ BuildRequires: pkgconfig(lc3)
%if %{with libcamera}
BuildRequires: libcamera-devel >= 0.2.0
%endif
BuildRequires: pkgconfig(libapparmor)
BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(libcap)
BuildRequires: pkgconfig(libdrm)
@ -423,6 +426,7 @@ JACK libraries.
sed -ie "s/version : '0.3.72'/version : '%{version}'/" %{P:0}
%patch -P 0 -p1
%endif
%patch -P 1 -p1
%build
%if 0%{?suse_version} <= 1500
@ -465,6 +469,7 @@ export CXX=g++-11
%endif
-Dbluez5-codec-lc3=enabled \
-Dbluez5-codec-lc3plus=disabled \
-Dgsettings-pulse-schema=disabled \
%if %{with libcamera}
-Dlibcamera=enabled \
%else
@ -482,6 +487,7 @@ export CXX=g++-11
%endif
-Dsession-managers="[]" \
-Dsdl2=disabled \
-Dsnap=disabled \
%if %{with_webrtc_audio_processing}
-Decho-cancel-webrtc=enabled \
%else
@ -497,8 +503,6 @@ cp %{buildroot}%{_datadir}/alsa/alsa.conf.d/50-pipewire.conf \
%{buildroot}%{_sysconfdir}/alsa/conf.d/50-pipewire.conf
cp %{buildroot}%{_datadir}/alsa/alsa.conf.d/99-pipewire-default.conf \
%{buildroot}%{_sysconfdir}/alsa/conf.d/99-pipewire-default.conf
mkdir -p %{buildroot}%{_udevrulesdir}
mv -fv %{buildroot}/lib/udev/rules.d/90-pipewire-alsa.rules %{buildroot}%{_udevrulesdir}
%if 0%{?suse_version} > 1500
mkdir -p %{buildroot}%{_pam_secdistconfdir}/limits.d/
@ -753,6 +757,7 @@ fi
%{_bindir}/pw-cat
%{_bindir}/pw-cli
%{_bindir}/pw-config
%{_bindir}/pw-container
%{_bindir}/pw-dot
%{_bindir}/pw-dsdplay
%{_bindir}/pw-dump
@ -773,6 +778,7 @@ fi
%{_mandir}/man1/pw-cat.1%{?ext_man}
%{_mandir}/man1/pw-cli.1%{?ext_man}
%{_mandir}/man1/pw-config.1%{?ext_man}
%{_mandir}/man1/pw-container.1%{?ext_man}
%{_mandir}/man1/pw-dot.1%{?ext_man}
%{_mandir}/man1/pw-dump.1%{?ext_man}
%{_mandir}/man1/pw-link.1%{?ext_man}