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

- Update to version 0.3.71:
  * Highlights
    - A new zero-latency jackdbus bridge was added. This works
      similar to what PulseAudio has to offer and creates a
      sink/source when jackdbus is started. It is however much more
      efficient and runs the complete PipeWire graph as a
      synchronous JACK client with no added latency.
    - Many performance improvements. Activation of remote nodes is
      more efficient, fewer eventfds are required on the clients,
      less callback overhead in performence critical paths and an
      optimized poll function was added. This was mainly driven by
      the jackdbus module to get the lowest possible overhead when
      running the graph.
    - The JACK notify callback implementation was reworked to
      emulate better what JACK does, improving compatibility with
      ardour7 and the JACK stress test.
    - More work on BAP devices. Device latency is now passed on to
      applications also for multi-device headsets, and channel
      allocation is handled better.
    - Many more improvements and bugfixes.
  * PipeWire
    - Remove the hardcoded limit on io_areas. This is used to link
      nodes together and exchange buffers, it was limited to 2048
      but now dynamically scales based on requirements.
    - Rate and quantum changes are now applied correctly in more
      cases. (#3159)
    - Updates to client-node to more efficiently process the
      driver.
    - The profiler information was improved to be more accurate.
      It should now work better for remote drivers.

OBS-URL: https://build.opensuse.org/request/show/1087688
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=131
This commit is contained in:
Antonio Larrosa 2023-05-17 16:11:14 +00:00 committed by Git OBS Bridge
parent 24c4ca5187
commit 7244b32ddf
7 changed files with 165 additions and 14 deletions

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">0.3.70</param>
<param name="revision">0.3.71</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:4f8b2c2b684fa9feb61d1f2e82b44f2c60ff5bd41a90fc5577274dcbf17f4d03
size 11615757

3
pipewire-0.3.71.obscpio Normal file
View File

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

View File

@ -1,3 +1,154 @@
-------------------------------------------------------------------
Wed May 17 15:18:10 UTC 2023 - Antonio Larrosa <alarrosa@suse.com>
- Update to version 0.3.71:
* Highlights
- A new zero-latency jackdbus bridge was added. This works
similar to what PulseAudio has to offer and creates a
sink/source when jackdbus is started. It is however much more
efficient and runs the complete PipeWire graph as a
synchronous JACK client with no added latency.
- Many performance improvements. Activation of remote nodes is
more efficient, fewer eventfds are required on the clients,
less callback overhead in performence critical paths and an
optimized poll function was added. This was mainly driven by
the jackdbus module to get the lowest possible overhead when
running the graph.
- The JACK notify callback implementation was reworked to
emulate better what JACK does, improving compatibility with
ardour7 and the JACK stress test.
- More work on BAP devices. Device latency is now passed on to
applications also for multi-device headsets, and channel
allocation is handled better.
- Many more improvements and bugfixes.
* PipeWire
- Remove the hardcoded limit on io_areas. This is used to link
nodes together and exchange buffers, it was limited to 2048
but now dynamically scales based on requirements.
- Rate and quantum changes are now applied correctly in more
cases. (#3159)
- Updates to client-node to more efficiently process the
driver.
- The profiler information was improved to be more accurate.
It should now work better for remote drivers.
- Some potential memory map errors were fixed in the protocol
because in some case with large messages, some fds were
closed too soon.
- pw-filter now implements the pw_filter_set_active() method.
- A potential out-of-buffers case was fixed in capture
pw-streams where buffers were not moved to the recycle queue
when the node suspended.
- Nodes are now always woken up with the eventfd. Previously
there were some optimiztions in the server to directly call
into the node process function but that optimization is not
necessary. Without this optimization it is now possible to
run nodes in different threads.
- pw-stream trigger is now implemented correctly in all cases.
- Remote nodes now use one eventfd less because they get
triggered with the node eventfd directly.
- Monitor ports are now ignored in latency updates.
- A potential race when reporting an error to a client was
fixed. (#3192)
- Fix a bug where always_process nodes would sometimes IDLE.
(#3189)
- Optimize peer activation. Nodes are now activated more
efficiently and independent of the number of links. It also
reduces the number of eventfds and memory in remote clients.
- A bug in property serialization was fixed. Values with spaces
would only serialize the first part of the value.
* Modules
- Correctly handle the echo-canceler plugin init method
fallback. The samplerate was not correctly configured. This
is only a regression for people that have external
echo-canceler plugins.
- RAOP sink now only sets the volume on the remote end when the
stream is recording. (#3175)
- RAOP discover now tries to deduplicate entries from the same
host.
- A new zero-latency jackdbus bridge was added. This works
similar to what pulseaudio has to offer and creates a
sink/source when jackdbus is started. It is however much more
efficient and runs the complete PipeWire graph as a
synchronous JACK client.
- The access module uses a more secure way to check the
application executable.
- module-combine-stream now has configurable delay and latency
for each stream. This can be used to align sinks/sources with
different latencies.
- A potential crash in module-pulse-tunnel was fixed when
shutting down. (#3199)
- Module-rt will now clamp the nice value to the min allowed
value to avoid errors from rtkit. (#3186)
- Fix a bug with the session counters in module-rtp-sap. Also
use the right format for L24. Improve the AES67 example
config.
- Improve some warning and info messages in module-rt. (#3194)
- module-rtp-session should now do something when started
without arguments.
- A potential crash in module-rtp-session was fixed. (#3217)
- module-filter-chain has better error reporting when a
convolver fails to load. (#3223)
* SPA
- Move some things around to avoid compiler warnings. (#3171)
- Increase mixer ports. Reorganize some things and bump mixer
input ports from 128 to 512.
- Fix a potential crash when a node is scheduled before it
completes the setup.
- The JACK sink and source SPA plugins have seen some
improvements.
- Allow the peaks resampler still if we disabled resampling.
- Perform more cleanup in audioadapter when in error.
- An optimized non-cancellable loop implementation was added.
- Callbacks were optimized with a _fast() varsion that doesn't
check the version and method. When this check is performed
earlier, it can be skipped in performance critical places.
- Some of the callbacks and system methods are now using the
fast function calls in critical paths.
- A potential division by zero was fixed in the ALSA plugins.
- Improve rate and quantum when starting audioconvert.
- Make it possible to override node.driver in the SPA
null-audio-driver. (#3220)
* pulse-server
- The audio info parameter parsing was refactored and improved.
- Fix some races with clients exiting when playing samples.
- An option was added to change or disable the dbus name
registration. (#2987)
* Bluetooth
- Implement battery reporting using AT+XEVENT.
- Disable hardware volume for 3M WorkTunes.
- Implement BAP audio locations (channel positions) by using
the new bluez properties.
* JACK
- Fix some errors reported by JACK test.cpp. (#2638)
- Add jack.show-midi option to show/hide midi ports.
- Add jack.max-client-ports option. JACK also has a port limit
and so PipeWire needs it as well to make the tests happy.
- Call the shutdown callback only when the server stopped, not
when there is a random error. (#3070)
- Avoid registering the same port name twice.
- Call port registration callbacks in activate/deactivate.
- Improve jack_port_connected().
- Improve some error reporting.
- The JACK headers were updated to a newer version.
- JACK callbacks are now managed with an event queue to
simulate more what JACK does. This avoids emiting callbacks
when a method is blocking for a reply and causing deadlocks.
(#3183)
- Assign unique names to JACK clients. (#2833)
- Fix a potential crash when the thread_utils was used after
free.
- Aliases are now not filled in by default to improve JACK
compatibility. (#3154)
* ALSA
- The ALSA plugin will now wait for negotiation to complete or
an error before _prepare() completes. This makes more
applications deal correctly with the potential errors.
* Docs
- A new document about how scheduling is implemented was added.
- Update the pw-cli man page. (#2988)
- Document the SPA Pod serialization.
- Document the PipeWire native protocol.
-------------------------------------------------------------------
Tue May 2 11:41:03 UTC 2023 - Alexei Sorokin <sor.alexei@meowr.ru>

View File

@ -1,4 +1,4 @@
name: pipewire
version: 0.3.70
mtime: 1681980091
commit: 9f7d60c1e84cc0481afc3f6ccf76e127567943a8
version: 0.3.71
mtime: 1684319631
commit: bd225b14bbda1a6e2dc7a52780eaf728920e0ff2

View File

@ -52,15 +52,15 @@
%endif
%if 0%{?ffmpeg_pref:1}
%bcond_without ffmpeg
%bcond_without use_ffmpeg
%else
%bcond_with ffmpeg
%bcond_with use_ffmpeg
%endif
%bcond_with aptx
Name: pipewire
Version: 0.3.70
Version: 0.3.71
Release: 0
Summary: A Multimedia Framework designed to be an audio and video server and more
License: MIT
@ -106,7 +106,7 @@ BuildRequires: pkgconfig(jack) >= 1.9.10
BuildRequires: pkgconfig(ldacBT-abr)
BuildRequires: pkgconfig(ldacBT-enc)
%endif
%if %{with ffmpeg}
%if %{with use_ffmpeg}
# Break circular dependency with ffmpeg
BuildRequires: %{ffmpeg_pref}-mini-devel
%endif
@ -373,7 +373,7 @@ export CXX=g++-9
-Ddocs=enabled \
-Dman=enabled \
-Dgstreamer=enabled \
%if %{with ffmpeg}
%if %{with use_ffmpeg}
-Dffmpeg=enabled \
%else
-Dffmpeg=disabled \
@ -611,7 +611,7 @@ fi
%{_libdir}/spa-%{spa_ver}/avb/
%{_libdir}/spa-%{spa_ver}/bluez5/
%{_libdir}/spa-%{spa_ver}/control/
%if %{with ffmpeg}
%if %{with use_ffmpeg}
%{_libdir}/spa-%{spa_ver}/ffmpeg/
%endif
%{_libdir}/spa-%{spa_ver}/jack/

View File

@ -4,7 +4,7 @@ Index: pipewire-0.3.69/meson.build
+++ pipewire-0.3.69/meson.build
@@ -1,7 +1,7 @@
project('pipewire', ['c' ],
version : '0.3.70',
version : '0.3.71',
license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ],
- meson_version : '>= 0.61.1',
+ meson_version : '>= 0.59.4',