diff --git a/_service b/_service
index f91f7d9..8388429 100644
--- a/_service
+++ b/_service
@@ -3,17 +3,18 @@
git
https://gitlab.freedesktop.org/pipewire/pipewire.git
- 1.0.3
+ 1.2.5
@PARENT_TAG@
-
+
*.tar
- xz
+ zst
diff --git a/pipewire-1.0.3.obscpio b/pipewire-1.0.3.obscpio
deleted file mode 100644
index de3bdb6..0000000
--- a/pipewire-1.0.3.obscpio
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ab709313076d865cb51f77d81a92afcf40f99d7a3967f912a2497698db738307
-size 12437517
diff --git a/pipewire-1.2.5.obscpio b/pipewire-1.2.5.obscpio
new file mode 100644
index 0000000..b843d01
--- /dev/null
+++ b/pipewire-1.2.5.obscpio
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d2180de53712b02c7a4a57fe791c69e75e8d20977f844b711bb6458e7dfe0dda
+size 13199373
diff --git a/pipewire.changes b/pipewire.changes
index 911f528..f1c5531 100644
--- a/pipewire.changes
+++ b/pipewire.changes
@@ -1,3 +1,807 @@
+-------------------------------------------------------------------
+Sun Sep 29 18:31:08 UTC 2024 - Antonio Larrosa
+
+- Update to version 1.2.5:
+ + Highlights
+ - Fix an fd mismatch in the protocol in some cases that could
+ lead to fd leaks and crashes.
+ - Fix a bug where the mixer was not updated after setting the
+ port, which would cause muted audio at boot or resume from
+ suspend.
+ - Fix a potential use-after-free in module-rt when stopping a
+ thread.
+ - Cached objects are now freed in the JACK API to avoid memory
+ leaks.
+ - Some more fixes and improvements.
+ + PipeWire
+ - RequestProcess commands are now only sent after the node
+ completes the state change to RUNNING.
+ - More FreeBSD fixes.
+ - Handle ACTIVE links going to < PAUSED as well. This improves
+ renegotiation in some cases.
+ - Fix an fd mismatch in the protocol in some cases that could
+ lead to fd leaks and crashes.
+ + Modules
+ - Many of the network modules can now also accept hostnames
+ instead of IP addresses.
+ - Fix a potential use-after-free in module-rt when stopping
+ the thread.
+ + SPA
+ - Support for elogind was added.
+ - Some more errors are checked when converting JSON to POD.
+ - Fix a bug where the mixer was not updated after setting the
+ port, which would cause muted audio at boot or resume from
+ suspend.
+ + JACK
+ - The BBT transport handling was improved. Some fields were
+ added to be able to handle the JACK semantics correctly.
+ - Buffers are now aligned according to the maximum CPU
+ alignment instead of the hardcoded 16 bytes alignment.
+ - Cached objects are now freed correctly.
+ + Doc
+ - Some small doc updates.
+- Don't try to enable apparmor support if without_apparmor is
+ defined (as in SLFO).
+
+-------------------------------------------------------------------
+Fri Sep 20 09:25:31 UTC 2024 - Frederic Crozat
+
+- Update to version 1.2.4:
+ + Highlights:
+ - Avoid a crash in cleanup of globals.
+ - Use systemd-logind to scan for new devices in v4l2.
+ - Some more bugfixes and improvements.
+ + PipeWire:
+ - Avoid a crash in cleanup of globals.
+ - Improve RequestProcess dispatch.
+ + Tools:
+ - Improve float parsing.
+ + SPA:
+ - Clear the ringbuffer when stopping in libcamera.
+ - Use systemd-logind to scan for new devices in v4l2.
+ - Queue dropped first buffer in v4l2.
+ - Unlink pcm devices when moving drivers to avoid broken pipe.
+ + JACK:
+ - Emit buffer_size callback in jack_activate() to improve
+ compatibility with GStreamer.
+
+-------------------------------------------------------------------
+Thu Sep 12 07:10:47 UTC 2024 - Thorsten Kukuk
+
+- Add %{_pam_secdistconfdir}/limits.d to filelist
+
+-------------------------------------------------------------------
+Tue Aug 27 14:55:37 UTC 2024 - Bjørn Lie
+
+- Update to version 1.2.3:
+ + Highlights:
+ - Implement freewheeling support in the FFADO driver. Also
+ improve buffersize and samplerate handling.
+ - Improve some locking on spa_loop. Remove a possible deadlock
+ when the queue was full.
+ - Allocate more space for the libcamera devices string to
+ properly deduplicate libcamera and v4l2 devices.
+ - Some more bugfixes and improvements.
+ + PipeWire:
+ - Improve activation state changes and xrun detection some more
+ - Avoid a memory leak when a link in error is destroyed.
+ + Modules:
+ - Improve samplerate and buffersize handling in FFADO driver so
+ that it is possible to force a rate and buffer size.
+ - Implement freewheeling support in the ffado driver.
+ - Always set the server side clock.quantum-limit on nodes. This
+ fixes a buffer size problem in Midi-bridge.
+ + SPA:
+ - Improve some locking on spa_loop. Remove a possible deadlock
+ when the queue was full.
+ - Allocate more space for the libcamera devices string to
+ properly deduplicate libcamera and v4l2 devices.
+ - Fix a potential race when enumerating v4l2 udev devices.
+ + Bluetooth: Improve compatibility with some devices (Soundcore
+ Motion 300).
+ + Tools:
+ - pw-cli can now handle arbitrarily large input and params.
+ - Avoid some compiler warnings in pw-top.
+
+-------------------------------------------------------------------
+Thu Aug 8 08:31:49 UTC 2024 - Antonio Larrosa
+
+- Update to version 1.2.2:
+ * Highlights
+ - Fix some more fallout of the async nodes rewrite. Fixes some
+ crackling, xruns and possibly also some crashes in some
+ cases.
+ - Fix freewheeling timeouts in case of xruns. This fixes ardour
+ export.
+ - Fix event mixdown in JACK. Fixes qsynth and possibly other
+ apps.
+ - Some more small fixes and improvements.
+ * PipeWire
+ - Add a new SPA_IO_CLOCK_FLAG_XRUN_RECOVER flag when the
+ process function is called because of xrun recovery.
+ - Properly stop nodes in all cases, this avoids spurious xruns
+ and scheduling errors. (#4122)
+ - Make sure async nodes receive an async link in all cases. Do
+ the processing of source output ports slightly differently to
+ make sure we don't cause latency for sources. (#4138)
+ (#4133)
+ - Fix some races when negotiating and starting nodes. (#4094)
+ - Actually include the config.h header to use malloc_trim() to
+ reduce memory usage in pulse-server.
+ * Modules
+ - Avoid unloading some modules on stream errors because it is
+ possible to recover from the error. (#4121)
+ - Fix a (harmless) warning in module-rtp because of comparing
+ samples and time. (#4095)
+ * SPA
+ - Let the freewheel driver detect xrun recovery and handle the
+ timeouts correctly. This fixes an issue with ardour export.
+ - Remove the HDMI/AC3 profiles. they turn out to fail on some
+ hardware with no way to detect this.
+ - Signal the eventfd when the loop is full to make sure the
+ other thread is woken up to process the queue.
+ * JACK
+ - Don't check timestamps when mixing down events. The
+ timestamps are only checked when writing new events with the
+ public API. This fixes an issue where qsynth would not
+ receive midi events anymore.
+ - Fix the jack_get_time() function, it was returning nano
+ instead of micro seconds.
+
+-------------------------------------------------------------------
+Sun Jul 14 20:25:15 UTC 2024 - Bjørn Lie
+
+- Update to version 1.2.1:
+ * Highlights
+ - Fix a regression in the node activation counters that would
+ break audio when using KODI.
+ - Fix a regression in ardour export because of mishandling of
+ sync groups.
+ - Fix a regression in KDE screen preview because of the new
+ async scheduling.
+ - Fix a regression in context.exec argument parsing that would
+ break some existing scripts.
+ - More small bug fixes and improvements.
+ * PipeWire
+ - Fix a regression in the node activation counters that would
+ break audio when using KODI. (#4087)
+ - Fix a regression in ardour export because of mishandling of
+ sync groups. (#4083)
+ - Fix a regression in KDE screen preview because of the new
+ async scheduling. Disable async for driver nodes. (#4092)
+ - Slightly improve node shutdown to cause less xruns.
+ - Fix a regression in context.exec argument parsing that would
+ break some existing scripts.
+ - Support custom thread create functions.
+ * Modules
+ - Improve snapcast address parsing. (#4093)
+ * SPA
+ - Fix multiple %f parsing in ACP for the new plug+a52 profiles.
+ - Improve v4l2 param generation. Improve recovery when
+ framesize or rates are unknown, support vivid. (#4063)
+ * JACK
+ - Use the custom thread create function to correctly let
+ module-rt kit manage threads so that we don't end up with
+ priorities on the wrong threads. (#4099)
+ * GStreamer
+ - Fix a crash when destroying a stream.
+
+-------------------------------------------------------------------
+Fri Jun 28 06:11:18 UTC 2024 - Antonio Larrosa
+
+- Update to version 1.2.0:
+ * This is the 1.2 release that is API and ABI compatible with
+ previous 1.1.x and 1.0.x releases.
+ * This release contains some of the bigger changes that happened
+ since the 1.0 release last year, including:
+ - 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 transport 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 negotiating 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.
+ - Explicit sync metadata and support was added.
+ - 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.
+ - Add snapcast-discover module to stream to snapcast servers.
+ - 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.
+ - Many GStreamer element updates.
+ - Many more fixes and improvements.
+ * Highlights (since the previous 1.1.83 release)
+ - Small fixes here and there.
+ * PipeWire
+ - Compilation fixes after enabling -Werror=float-conversion
+ * Modules
+ - The module-rtp-sap now propagates the cleanup.sec property to
+ the rtp-source and the rtp-source now sets a property with
+ the receiving status.
+ - Fix for ROC 0.3, explicitly specify sender encoding. (#4070)
+ - Some fixes to the RAOP sink module, including a format fix
+ for 32 bit machines.
+ * Tools
+ - Fix pw-cli monitoring code.
+ * SPA
+ - Revert peer_enum_params again because it was not used and
+ flawed.
+ - Fix multichannel processing in webrtc AEC.
+ * GStreamer
+ - Logging improvements.
+ - Fix a race in the bufferpool activation.
+ * Bluetooth
+ - Improvements to BAP broadcast code parsing.
+- Remove patch already included in 1.2.0:
+ * 0001-vulkan-fix-compilation.patch
+
+-------------------------------------------------------------------
+Wed Jun 26 09:54:23 UTC 2024 - Antonio Larrosa
+
+- 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
+
+- Make sure the pipewire-libjack package doesn't completely
+ replace the original jack libraries unless the pipewire-jack
+ package which installs the ld.so.conf.d file is installed too
+ (boo#1222253).
+
+-------------------------------------------------------------------
+Sat May 25 13:28:01 UTC 2024 - Alexei Sorokin
+
+- Update to version 1.0.7:
+ * Highlights
+ - Fix a potential race/crash.
+ - Fix some problems with negotiation of large integers and
+ floats.
+ - Fix JACK sysex MIDI event handling.
+ - Some more smaller fixes and improvements.
+ * PipeWire
+ - Fix a potential race when adding/removing a port to be
+ scheduled.
+ * Modules
+ - Fix FFADO default device handling.
+ * SPA
+ - Fix in integer overflow and float/double compare in POD.
+ * JACK
+ - Copy larger MIDI events correctly.
+
+-------------------------------------------------------------------
+Wed May 15 09:21:57 UTC 2024 - Antonio Larrosa
+
+- Move modules jack-tunnel and jackdbus-detect to the
+ pipewire-spa-plugins-0_2-jack since those modules should only
+ be used when the real jack server is running. This fixes pipewire
+ starting jackdbus on start.
+
+-------------------------------------------------------------------
+Fri May 10 11:43:21 UTC 2024 - Antonio Larrosa
+
+- Update to version 1.0.6:
+ * Highlights
+ - A bitfield race was fixed that could cause some crashes or
+ undefined behaviour when moving nodes between drivers.
+ - Fix to some invalid memory access in the pw-mon and pw-dump.
+ - A regression in kodi with IEC958 formats playback was fixed.
+ - A race in the ALSA plugin was fixed when updating the
+ eventfd.
+ - Improvements and fixes to module-combine-stream.
+ - Negotiation was improved in pipewiresrc.
+ - Some more small fixes and improvements.
+ * PipeWire
+ - Context properties are now set early so that client
+ properties can be matched with rules.
+ - A bitfield race was fixed that could cause some crashes or
+ undefined behaviour when moving nodes between drivers.
+ * Tools
+ - Fix failure to hide properties in pw-mon. (#3997)
+ - Fix some memleaks and a crash in pw-dump. (#4001)
+ * Modules
+ - The combine-stream module now prevents resampling to avoid
+ broken audio because of different samplerates.
+ - Fix a potential double free in module-loopback when
+ calculating the delay. (#3748)
+ - The FFADO module now only starts when ports are negotiated
+ to avoid startup races. (#3968)
+ - The combine-stream module will now forward tags.
+ * SPA
+ - Monitor volumes are now also clamped to the min/max volumes.
+ (#3962)
+ - V4l2 and libcamera now encodes the device ids into a JSON
+ array. This is part of the deduplication code of devices.
+ - A regression in kodi with IEC958 formats playback was fixed.
+ * Bluetooth
+ - Improved buffer handling and queued data when stopping.
+ * ALSA
+ - A race was fixed when updating the eventfd. (#3711)
+ * GStreamer
+ - Handle some errors better instead of crashing. (#3994)
+ - Fix a memleak in the stream params handling.
+ - Negotiation was improved in pipewiresrc.
+
+-------------------------------------------------------------------
+Mon May 06 15:31:52 UTC 2024 - alarrosa@suse.com
+
+- Update to version 1.0.5+git36.60deeb2 to fix several crashes,
+ NULL checks, format strings and other issues:
+ * spa: libcamera: fix RGB mappings
+ * pw-dump: destroy all objects not just those matching the pattern
+ * pw-dump: fix string memory leak on error
+ * json: fix high surrogate escapes
+ * core: handle import errors better
+ * gst/src: fix crash when current_caps is NULL
+ * gst/src: Avoid unnecessary renegotiations during streaming
+ * gst/src: Cleanups for src_negotiate()
+ * pw-mon: fix type confusion in core event handler
+ * gst: fix stream params memory leak
+ * gst: handle some more errors
+ * treewide: fix errno assignments
+ * alsa-pcm: don't force quantum for iec958 formats
+ * journal: prepend code location to messages at debug log levels
+ * module-rt: fix compiler warning
+ * filter-chain: fix arguments of calloc
+ * combine-stream tag forward
+ * Add album to tag metadata
+ * impl-node: avoid bitfield races
+ * treewide: fix some format string issues
+ * conf: warn when match actions are missing
+ * module-protocol-simple: handle 'node.name' property
+ * module-ffado: only start after ports are configured
+ * context: fill basic properties early
+ * combine-stream: fix latency-compensate with resample.disabled=true
+ * profiler: remove unused data-loop
+ * v4l2: fix printf format
+ * spa: v4l2: encode device id into a json array
+ * spa: libcamera: encode device ids into a json array
+ * impl-port: avoid doing work when the port is destroyed
+ * impl-port: use 0 size when clearing IO
+ * stream: log a warning when media.class and direction mismatch
+ * module-loopback: only enable delay with valid rate and channels
+ * alsa: fix race when updating the eventfd
+ * audioconvert: also clamp monitor volume to min/max
+ * combine-stream: actually make use of resample.disable
+
+-------------------------------------------------------------------
+Wed Apr 17 06:56:33 UTC 2024 - Antonio Larrosa
+
+- Update to version 1.0.5:
+ * Highlights
+ - pw_stream can now report timestamps on buffers and the
+ expected amount of samples for the resampler.
+ - The GStreamer element now has more correct timestamps using
+ the new pw_stream timestamps as a fallback.
+ - The FFADO module now handles suspend and resume better.
+ - A regression in v4l2 was fixed when parsing malformed
+ filters.
+ - A potential memory/fd leak was fixed in client-node.
+ - Many more small bugfixes and improvements.
+ * PipeWire
+ - pw_stream now reports the expected resampler input or output
+ size in the pw_time structure. (#3750)
+ - pw_stream now also adds a time field to the buffer, which
+ contains the time of the graph when the buffer was received
+ in the stream.
+ - Fix a compiler error when compiling with -Werror=shadow.
+ (#3915)
+ - The config parser will warn when invalid config is detected.
+ * Modules
+ - The FFADO module now opens and closes when suspending. This
+ fixes some problems when FFADO properties are changed while
+ suspended. (#3558)
+ - Filter-chain will now warn when invalid config is detected.
+ - Echo-cancel will now handle manage the state of the
+ echo-cancel plugin better, making sure run() is not called
+ after deactivate().
+ - Fix some potential memory/fd leaks in client-node.
+ * SPA
+ - Improve reading the bound ALSA controls.
+ - The resampler can now also report the number of expected
+ output samples.
+ - The ALSA ACP device objects have some more properties like
+ the card.id and alsa.components. (#3912)
+ - Fix a potential string corruption when parsing JSON strings.
+ - V4l2 now sets the latency on the port. (#3910)
+ - alsa-udev now has an option to expose the device even if
+ busy. (#3914)
+ - Improve null-audio-sink channel handling. (#3931)
+ - v4l2 will now drop the first frame because it often contains
+ wrong timestamps or garbage. (#3910)
+ - A regression in v4l2 was fixed where invalid/empty properties
+ in the filter would make it error early. (#3959)
+ * GStreamer
+ - The source now falls back to the new pw_buffer time for the
+ timestamps.
+ * Docs
+ - Sync with the master branch.
+
+-------------------------------------------------------------------
+Thu Apr 11 09:32:10 UTC 2024 - Antonio Larrosa
+
+- Move the jack spa plugin from the pipewire-spa-plugins-0_2
+ package to a new pipewire-spa-plugins-0_2-jack package. This
+ allows to not Suggest the pipewire-libjack package from
+ pipewire-spa-plugins-0_2 since that's only used to connect
+ pipewire as a client to a jack server which is not common at all
+ (boo#1222253).
+
+-------------------------------------------------------------------
+Tue Mar 19 07:42:26 UTC 2024 - Richard Biener
+
+- Avoid %if %{pkg_vcmp gcc < 8}, instead replicate the condition
+ from the BuildRequires section.
+
+-------------------------------------------------------------------
+Wed Mar 13 10:12:26 UTC 2024 - Antonio Larrosa
+
+- Update to version 1.0.4:
+ * Highlights
+ - Track memfd better to avoid inconsistent memory. Also make
+ sure the mixer info is removed correctly in all cases on
+ destroyed ports.
+ - Correctly handle removed objects in the metadata.
+ - Add an option to set the server and client priorities instead
+ of using a hardcoded value of 88.
+ - The FFADO module has been fixed. Audio and MIDI now works
+ with the same latency as the JACK driver. This has now also
+ been tested with a Focusrite Saffire Pro 14.
+ - The JACK library has seen some important fixes. Some ardour
+ crackling has been fixed when looping and multiple MIDI ports
+ on a client should now work.
+ - Small bugfixes and improvements.
+ * PipeWire
+ - Track memfd better to avoid inconsistent memory. Also make
+ sure the mixer info is removed correctly in all cases on
+ destroyed ports.
+ - Fix Props param emission again in pw_stream. (#3833)
+ - Add MAPPABLE flag to buffer data to indicate that the fd can
+ be mmapped directly. Use this on DMABUF from v4l2. (#3840)
+ - Correctly handle removed object in the metadata.
+ - FreeBSD build and compatibility fixes.
+ - Add an option to set the server and client priorities instead
+ of using a hardcoded value of 88.
+ - Read config overrides in the right order.
+ - Fix PIPEWIRE_QUANTUM rate handling in pw_stream and
+ pw_filter.
+ - Fix pw_context_parse_conf_section(), actually use the conf
+ argument.
+ - A new pw_stream_get_nsec() and pw_filter_get_nsec() function
+ was added to get the current time of the stream/filter
+ without having to assume a particular clock.
+ - A new default.clock.quantum-floor property was added to
+ configure the absolute lowest buffer-size. (#3908)
+ * docs
+ - Many doc updates.
+ * tools
+ - Make sure we always quit pw-cli when the server stops.(#3837)
+ - pw-top now prints all drivers in batch mode. (#3899)
+ * modules
+ - Don't destroy the client in protocol-simple on EAGAIN.
+ - Handle IPv6 better in the RTP modules. Fix IPv6 SAP header
+ parsing. (#3851)
+ - The FFADO module has been fixed. Audio and MIDI now works
+ with the same latency as the JACK driver. This has now also
+ been tested with a Focusrite Saffire Pro 14. (#3558)
+ * pulse-server
+ - Make sure the peer_name is filled to avoid protocol errors.
+ * SPA
+ - Small resampler tweaks to improve stability of adaptive
+ resampler.
+ - Add ALSA option to control htimestamp autodisable.
+ - Avoid some potential crashes in audioconvert when ports are
+ removed.
+ - Improve HDMI jack detection on some SOCs.
+ - The audioconvert now has a monitor.passthrough option to pass
+ the latency information on the monitor ports. (#3888)
+ * GStreamer
+ - Don't use timeouts when autoconnect=false in pipewiresrc.
+ (#3884)
+ - pipewiresrc and pipewiresink can now be automatically
+ selected as audio source and sink.
+ - An invalid memory access was fixed when destroying the device
+ provider.
+ * JACK
+ - Remove properties correctly with the object id, not serial.
+ - Improve sync with the data thread by pausing the core. Also
+ improve handling of port io to avoid invalid buffer access.
+ - Fix PIPEWIRE_QUANTUM rate handling.
+ - Support multiple MIDI input ports per client. (#3901)
+ - The output buffer size is now always correctly set. (#3892)
+ * ALSA
+ - Handle errors from eventfd_create correctly.
+
+-------------------------------------------------------------------
+Tue Mar 12 11:10:03 UTC 2024 - Antonio Larrosa
+
+- Update to version 1.0.3+git51.89d8e8b:
+ * module-ffado: make the event buffer per port
+ * module-ffado: handle MIDI correctly
+ * module-ffado: implement MIDI send and receive
+ * module-ffado: various fixes to make things work
+ * stream: add pw_stream_get_nsec() to get current time
+ * jack: fix multiple midi input ports
+ * pw-top: only check terminal size in non-batch mode
+ * Specify "Audio" in gstreamer sink/src metadata to fix autodetect
+ * Add SOC-style jack names to HDMI audio paths
+ * gst: remove timeouts when autoconnect=false
+ * audioconvert: handle invalid ports better
+ * audioconvert: handle port remove
+ * pw_context_parse_conf_section: use the conf argument instead of the context's conf
+ * stream: FORCE_RATE should just contain the rate
+ * jack: FORCE_RATE should just contain the rate
+ * jack: set global_mix safely
+ * jack: sync threads by pausing the core
+ * alsa: Added handle for controlling htimestamp autodisable
+ * And more
+- Remove patch already merged upstream:
+ * fix-gst-sink.patch
+
+-------------------------------------------------------------------
+Tue Mar 12 11:01:21 UTC 2024 - Antonio Larrosa
+
+- Require pipewire-pulseaudio from pipewire-alsa so when
+ pipewire-alsa is installed, pipewire has audio support (or put
+ in other words, so pipewire-alsa isn't installed with the real
+ pulseaudio). Fixes boo#1221235.
+
+-------------------------------------------------------------------
+Wed Mar 06 17:01:46 UTC 2024 - alarrosa@suse.com
+
+- Add patch from upstream submitted at glfo#pipewire/pipewire#1932
+ that fixes selecting the pipewire gstreamer plugins by the
+ autoaudiosink/autoaudiosrc plugins:
+ * fix-gst-sink.patch
+
+-------------------------------------------------------------------
+Thu Feb 29 14:58:44 UTC 2024 - Dominique Leuenberger
+
+- Use %patch -P N instead of deprecated %patchN.
+
+-------------------------------------------------------------------
+Wed Feb 21 06:48:22 UTC 2024 - Antonio Larrosa
+
+- Force using doxygen-1_10 in SLE where the default doxygen is too
+ old and generates broken docs (boo#1217886)
+
+-------------------------------------------------------------------
+Tue Feb 20 17:44:12 UTC 2024 - Antonio Larrosa
+
+- Add a conflict in -pulseaudio with
+ pipewire-modules-%{apiver} < 1.0.0 since the
+ libpipewire-module-protocol-pulse.so module was included in
+ -modules before 1.0.0 so we should avoid a file conflict.
+
-------------------------------------------------------------------
Sat Feb 3 16:44:06 UTC 2024 - Alexei Sorokin
diff --git a/pipewire.obsinfo b/pipewire.obsinfo
index 77ea39d..07d4255 100644
--- a/pipewire.obsinfo
+++ b/pipewire.obsinfo
@@ -1,4 +1,4 @@
name: pipewire
-version: 1.0.3
-mtime: 1706879347
-commit: 6ab86209f23a841de7eac6bc0c1009aceb9ffd87
+version: 1.2.5
+mtime: 1727431340
+commit: 71fac7fa818f21234da4c356de0b44e47e1a2ef2
diff --git a/pipewire.spec b/pipewire.spec
index 776392a..8370afb 100644
--- a/pipewire.spec
+++ b/pipewire.spec
@@ -59,22 +59,32 @@
%bcond_with use_ffmpeg
%endif
+%if 0%{?without_apparmor:0}
+%bcond_with apparmor
+%else
+%bcond_without apparmor
+%endif
+
%bcond_with aptx
Name: pipewire
-Version: 1.0.3
+Version: 1.2.5
Release: 0
Summary: A Multimedia Framework designed to be an audio and video server and more
License: MIT
Group: Development/Libraries/C and C++
URL: https://pipewire.org/
-Source0: %{name}-%{version}.tar.xz
+Source0: %{name}-%{version}.tar.zst
Source99: baselibs.conf
# PATCH-FIX-OPENSUSE reduce-meson-dependency.patch
Patch0: reduce-meson-dependency.patch
BuildRequires: docutils
-BuildRequires: doxygen
+%if 0%{suse_version} > 1500
+BuildRequires: doxygen >= 1.9.7
+%else
+BuildRequires: doxygen-1_10
+%endif
BuildRequires: fdupes
BuildRequires: gcc-c++
%if 0%{?suse_version} <= 1500
@@ -117,6 +127,9 @@ BuildRequires: pkgconfig(lc3)
%if %{with libcamera}
BuildRequires: libcamera-devel >= 0.2.0
%endif
+%if %{with apparmor}
+BuildRequires: pkgconfig(libapparmor)
+%endif
BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(libcap)
BuildRequires: pkgconfig(libdrm)
@@ -191,6 +204,12 @@ Summary: PipeWire libjack replacement libraries
Group: Development/Libraries/C and C++
Requires(post): update-alternatives
Requires(postun): update-alternatives
+# Since the pipewire-libjack package is sometimes completely replacing the
+# original jack libraries for some users we better make sure either they
+# are also installed or we completely replace them with the pipewire
+# libraries
+Requires: ((libjack0 and libjacknet0 and libjackserver0) or pipewire-jack)
+Recommends: (pipewire-jack if wireplumber-audio else libjack0)
%description libjack-%{apiver_str}
PipeWire is a server and user space API to deal with multimedia pipelines.
@@ -289,7 +308,6 @@ This package contains X11 bell support for PipeWire.
%package spa-plugins-%{spa_ver_str}
Summary: Plugins For PipeWire SPA
Group: Productivity/Multimedia/Other
-Suggests: pipewire-libjack-%{apiver_str}
%description spa-plugins-%{spa_ver_str}
PipeWire is a server and user space API to deal with multimedia pipelines.
@@ -310,6 +328,30 @@ Some of its features include:
This package provides plugins for extending PipeWire SPA's functionality.
+%package spa-plugins-%{spa_ver_str}-jack
+Summary: SPA Plugin to use PipeWire as jack client
+Group: Productivity/Multimedia/Other
+Requires: jack
+
+%description spa-plugins-%{spa_ver_str}-jack
+PipeWire is a server and user space API to deal with multimedia pipelines.
+
+Some of its features include:
+
+ * Unlimited input/output ports;
+ * Per port format enumeration and negotiation;
+ * Enumeration/configuration of per port parameters;
+ * Application controlled buffer allocation with option to let the plugin
+ Allocate memory;
+ * Arbitrary buffer metadata;
+ * Buffers are passed around by id which is very fast and avoids the need
+ for refcounting;
+ * Synchronous and asynchronous processing;
+ * All api is designed to work without any allocations;
+ * Arbirary input/output behaviour.
+
+This package provides the SPA plugin to connect Pipewire to a JACK server
+
%package devel
Summary: Development Files For PipeWire, A Multimedia Framework
Group: Development/Libraries/C and C++
@@ -334,6 +376,8 @@ Requires: %{libpipewire} >= %{version}-%{release}
Recommends: %{name} >= %{version}-%{release}
# Both providing /etc/alsa/conf.d/99-*-default.conf can cause issues
Conflicts: alsa-plugins-pulse
+# This is needed so that pipewire-alsa is not installed with the real pulseaudio (boo#1221235)
+Requires: pipewire-pulseaudio
%description alsa
This package contains an ALSA plugin for the PipeWire media server.
@@ -345,6 +389,7 @@ Requires: %{libpipewire} >= %{version}-%{release}
Requires: %{name} >= %{version}-%{release}
Requires: pulseaudio-utils
Recommends: pipewire-alsa
+Conflicts: pipewire-modules < 1.0.0
Conflicts: pulseaudio
# Virtual Provides to support swapping between PipeWire-PA and PA
Conflicts: pulseaudio-daemon
@@ -385,11 +430,11 @@ JACK libraries.
%autosetup -N
%if %{?pkg_vcmp:%{pkg_vcmp meson <= 0.61.0}}
sed -ie "s/version : '0.3.72'/version : '%{version}'/" %{P:0}
-%patch0 -p1
+%patch -P 0 -p1
%endif
%build
-%if %{pkg_vcmp gcc < 8}
+%if 0%{?suse_version} <= 1500
export CC=gcc-11
export CXX=g++-11
%endif
@@ -429,6 +474,7 @@ export CXX=g++-11
%endif
-Dbluez5-codec-lc3=enabled \
-Dbluez5-codec-lc3plus=disabled \
+ -Dgsettings-pulse-schema=disabled \
%if %{with libcamera}
-Dlibcamera=enabled \
%else
@@ -446,6 +492,7 @@ export CXX=g++-11
%endif
-Dsession-managers="[]" \
-Dsdl2=disabled \
+ -Dsnap=disabled \
%if %{with_webrtc_audio_processing}
-Decho-cancel-webrtc=enabled \
%else
@@ -461,8 +508,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/
@@ -587,6 +632,7 @@ fi
%license LICENSE COPYING
%doc README.md
%if 0%{?suse_version} > 1500
+%dir %{_pam_secdistconfdir}/limits.d
%{_pam_secdistconfdir}/limits.d/25-pw-rlimits.conf
%else
%config(noreplace) %{_sysconfdir}/security/limits.d/25-pw-rlimits.conf
@@ -601,7 +647,19 @@ fi
%{_userunitdir}/pipewire.socket
%{_userunitdir}/filter-chain.service
%{_mandir}/man1/pipewire.1%{?ext_man}
+%{_mandir}/man1/pw-reserve.1%{?ext_man}
+%{_mandir}/man1/pw-v4l2.1%{?ext_man}
+%{_mandir}/man1/spa-acp-tool.1%{?ext_man}
+%{_mandir}/man1/spa-inspect.1%{?ext_man}
+%{_mandir}/man1/spa-json-dump.1%{?ext_man}
+%{_mandir}/man1/spa-monitor.1%{?ext_man}
+%{_mandir}/man1/spa-resample.1%{?ext_man}
+%{_mandir}/man5/pipewire-client.conf.5%{?ext_man}
+%{_mandir}/man5/pipewire-filter-chain.conf.5%{?ext_man}
%{_mandir}/man5/pipewire.conf.5%{?ext_man}
+%{_mandir}/man5/pipewire-jack.conf.5%{?ext_man}
+%{_mandir}/man7/pipewire-devices.7%{?ext_man}
+
%dir %{_datadir}/pipewire/
%{_datadir}/pipewire/pipewire.conf
%{_datadir}/pipewire/pipewire.conf.avail/
@@ -624,6 +682,8 @@ fi
%files modules-%{apiver_str}
%dir %{_libdir}/pipewire-%{apiver}
%{_libdir}/pipewire-%{apiver}/libpipewire-module-*.so
+%exclude %{_libdir}/pipewire-%{apiver}/libpipewire-module-jack-tunnel.so
+%exclude %{_libdir}/pipewire-%{apiver}/libpipewire-module-jackdbus-detect.so
%exclude %{_libdir}/pipewire-%{apiver}/libpipewire-module-x11-bell.so
%exclude %{_libdir}/pipewire-%{apiver}/libpipewire-module-protocol-pulse.so
%dir %{_libdir}/pipewire-%{apiver}/v4l2/
@@ -657,7 +717,6 @@ fi
%if %{with use_ffmpeg}
%{_libdir}/spa-%{spa_ver}/ffmpeg/
%endif
-%{_libdir}/spa-%{spa_ver}/jack/
%if %{with libcamera}
%{_libdir}/spa-%{spa_ver}/libcamera/
%endif
@@ -704,6 +763,7 @@ fi
%{_bindir}/pw-cat
%{_bindir}/pw-cli
%{_bindir}/pw-config
+%{_bindir}/pw-container
%{_bindir}/pw-dot
%{_bindir}/pw-dsdplay
%{_bindir}/pw-dump
@@ -724,6 +784,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}
@@ -779,6 +840,11 @@ fi
%files jack
%config %{_sysconfdir}/ld.so.conf.d/pipewire-jack-%{_arch}.conf
+%files spa-plugins-%{spa_ver_str}-jack
+%{_libdir}/pipewire-%{apiver}/libpipewire-module-jack-tunnel.so
+%{_libdir}/pipewire-%{apiver}/libpipewire-module-jackdbus-detect.so
+%{_libdir}/spa-%{spa_ver}/jack/
+
%files lang -f %{name}.lang
%changelog