Hello community,

here is the log from the commit of package pipewire for openSUSE:Factory 
checked in at 2020-09-25 16:25:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pipewire (Old)
 and      /work/SRC/openSUSE:Factory/.pipewire.new.4249 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pipewire"

Fri Sep 25 16:25:06 2020 rev:16 rq:836040 version:0.3.11

Changes:
--------
--- /work/SRC/openSUSE:Factory/pipewire/pipewire.changes        2020-09-05 
23:59:29.619166445 +0200
+++ /work/SRC/openSUSE:Factory/.pipewire.new.4249/pipewire.changes      
2020-09-25 16:28:07.827709464 +0200
@@ -1,0 +2,84 @@
+Fri Sep 18 05:32:09 UTC 2020 - Antonio Larrosa <alarr...@suse.com>
+
+- Update to version 0.3.11:
+  * PipeWire improvements
+    + Properly cleanup the mixer structures when a port is removed,
+      this should fix client crashes related to port config changes
+      and other random crashes.
+    + Optimize the preferred formats in the audio converter. Higher
+      quality formats with higher performance are chosen first.
+    + Make sure the time reported by pw_stream is always
+      increasing, even when the driver and clock changes.
+    + There is now also a system service and socket that can be
+      used to enable PipeWire systemwide. This is however not
+      recommended and disabled by default.
+    + Fix channelmixer 5.1 to stereo mix matrix. It was not reading
+      the conversion matrix correctly and cause channels to be
+      dropped. The channelmixer will now also normalize the volume,
+      like what pulseaudio does.
+    + The channelmixer will now just copy channels when no layout
+      has been given. It has also optimized paths for this. This
+      makes it possible for apps to request > 8 channels from the
+      alsa plugin (ardour).
+    + Port, Node and Link will now also emit an error on the
+      resources in addition to updating the error in the info. This
+      would make it easier to track negotiation errors in the
+      session manager later.
+    + many small fixes and cleanups.
+    + Fix compatibility:
+      - DOSBox: fix crash because of double free in pw_stream
+  * Session manager improvements
+    + The session manager will now try to configure the client to
+      the channel configuration of the sink/source. It will only
+      do this for downmixing, never for upmixing and also never
+      when the client has the dont-remix property set. It will
+      also renegotiate the channel layout when moving a stream to
+      a new sink/source.
+    + Configuration state is now saved in XDG_CONFIG_HOME.
+      Previously it was saved in $HOME/.pipewire-media-session/
+      You can migrate the state by moving the files to
+      $XDG_CONFIG_HOME/pipewire-media-session (or
+      $HOME/.config/pipewire-media-session as a fallback when
+      XDG_CONFIG_HOME is not set).
+  * Device support
+    + Bluetooth sources and sinks should work better now.
+    + There is now also a new bluetooth backend using hsphfpd.
+    + fix the ALSA UCM Off profile for alsa pcm devices
+    + improve ALSA port and profile switching. The ACP device will
+      now switch to the best port and profile when availability
+      changes.
+  * PulseAudio layer improvements
+    + Implement some more callbacks. The pulse layer will now also
+      notify applications of stream moved, started and latency
+      changes.
+    + Fix error code when an object was not found. We now return
+      PA_ERR_NOENTITY instead of PA_ERR_INVALID.
+    + Add some support for loading new null sinks. Applications
+      such as pulseeffects use this. Note that pulseeffects does
+      not yet work reliably but can start now.
+    + Improve handling of profile and port updates, it should work
+      much more reliable now. Apps should now also again receive
+      volume updates from sinks/sources.
+    + Fix compatibility:
+       - openal-soft 1.20
+       - pavucontrol (checks PA_ERR_NOENTITY)
+  * JACK layer improvements
+    + improve default source and sink handling. It was not updated
+      correctly in all cases.
+    + add samplerate and period to the pw-jack wrapper to easily
+      configure the desired samplerate and perdiod for the app.
+  * ALSA plugin improvements
+    + Add a mixer entry in the alsa config file.
+    + Implement support for planar types, rework the processing
+      function to make it more robust.
+    + refuse to load the alsa plugin when linked against 0.2. This
+      catches some old apps linked against 0.2 that want to use the
+      alsa plugin.
+    + Fix compatibility:
+      - linphone (ALSA SIGFPE when _status() is called
+        before _prepare()).
+- Add patch from upstream to fix audio stutters in discord and probably
+  other applications when using alsa directly.
+  * 0001-alsa-dont-change-the-resampler-delay-value.patch
+
+-------------------------------------------------------------------

Old:
----
  pipewire-0.3.10.obscpio

New:
----
  0001-alsa-dont-change-the-resampler-delay-value.patch
  pipewire-0.3.11.obscpio

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

Other differences:
------------------
++++++ pipewire.spec ++++++
--- /var/tmp/diff_new_pack.fY59Nl/_old  2020-09-25 16:28:08.439710006 +0200
+++ /var/tmp/diff_new_pack.fY59Nl/_new  2020-09-25 16:28:08.443710009 +0200
@@ -36,7 +36,7 @@
 %endif
 
 Name:           pipewire
-Version:        0.3.10
+Version:        0.3.11
 Release:        0
 Summary:        A Multimedia Framework designed to be an audio and video 
server and more
 License:        MIT
@@ -47,6 +47,8 @@
 Patch0:         fix-memfd_create-call.patch
 Patch1:         do-not-use-snd_pcm_ioplug_hw_avail.patch
 Patch2:         do-not-install-alsa-config-files.patch
+# PATCH-FIX-UPSTREAM 0001-alsa-dont-change-the-resampler-delay-value.patch -- 
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/287
+Patch100:       0001-alsa-dont-change-the-resampler-delay-value.patch
 
 BuildRequires:  doxygen
 BuildRequires:  fdupes
@@ -264,6 +266,7 @@
 %endif
 sed -i -e "s/meson_version : '>= 0.49.0',/meson_version : '>= 0.46.0',/" 
meson.build
 %patch2 -p1
+%patch100 -p1
 
 %autopatch -m 101 -p1
 

++++++ 0001-alsa-dont-change-the-resampler-delay-value.patch ++++++
>From 8332d3e3edba34b8b0706359085e4750705c8f12 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaym...@redhat.com>
Date: Tue, 15 Sep 2020 13:16:31 +0200
Subject: [PATCH] alsa: don't change the resampler delay value

Don't change the resampler delay value, we need it to make sure
we keep samples around for the next round. With small period sizes,
we set the delay to 0 and mess up the resampler and cause dropouts
and clicking.

Fixes #287
---
 spa/plugins/alsa/alsa-pcm.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/spa/plugins/alsa/alsa-pcm.c b/spa/plugins/alsa/alsa-pcm.c
index 932244e7..78c4a3f7 100644
--- a/spa/plugins/alsa/alsa-pcm.c
+++ b/spa/plugins/alsa/alsa-pcm.c
@@ -664,7 +664,6 @@ static int alsa_recover(struct state *state, int err)
                state->alsa_started = false;
                spa_alsa_write(state, state->threshold * 2);
        }
-
        return 0;
 }
 
@@ -688,6 +687,7 @@ static int get_status(struct state *state, 
snd_pcm_uframes_t *delay, snd_pcm_ufr
 
        *target = state->last_threshold;
 
+#define MARGIN 48
        if (state->resample && state->rate_match) {
                state->delay = state->rate_match->delay * 2;
                state->read_size = state->rate_match->size;
@@ -695,9 +695,10 @@ static int get_status(struct state *state, 
snd_pcm_uframes_t *delay, snd_pcm_ufr
                 * by moving a little closer to the device read/write pointers.
                 * Don't try to get closer than 48 samples but instead increase 
the
                 * reported latency on the port (TODO). */
-               if (*target <= state->delay + 48)
-                       state->delay = SPA_MAX(0, (int)(*target - 48 - 
state->delay));
-               *target -= state->delay;
+               if (*target <= state->delay + MARGIN)
+                       *target -= SPA_MAX(0, (int)(*target - MARGIN - 
state->delay));
+               else
+                       *target -= state->delay;
        } else {
                state->delay = state->read_size = 0;
        }
@@ -1290,6 +1291,7 @@ int spa_alsa_start(struct state *state)
 
        reset_buffers(state);
        state->alsa_sync = true;
+       state->alsa_recovering = false;
 
        if (state->stream == SND_PCM_STREAM_PLAYBACK) {
                state->alsa_started = false;
-- 
GitLab

++++++ _service ++++++
--- /var/tmp/diff_new_pack.fY59Nl/_old  2020-09-25 16:28:08.483710045 +0200
+++ /var/tmp/diff_new_pack.fY59Nl/_new  2020-09-25 16:28:08.487710048 +0200
@@ -3,7 +3,7 @@
   <service name="obs_scm" mode="disabled">
     <param name="scm">git</param>
     <param 
name="url">https://gitlab.freedesktop.org/pipewire/pipewire.git</param>
-    <param name="revision">0.3.10</param>
+    <param name="revision">0.3.11</param>
     <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
     <param name="versionrewrite-pattern">(.*)\+0</param>
     <param name="versionrewrite-replacement">\1</param>

++++++ pipewire-0.3.10.obscpio -> pipewire-0.3.11.obscpio ++++++
/work/SRC/openSUSE:Factory/pipewire/pipewire-0.3.10.obscpio 
/work/SRC/openSUSE:Factory/.pipewire.new.4249/pipewire-0.3.11.obscpio differ: 
char 49, line 1

++++++ pipewire.obsinfo ++++++
--- /var/tmp/diff_new_pack.fY59Nl/_old  2020-09-25 16:28:08.571710122 +0200
+++ /var/tmp/diff_new_pack.fY59Nl/_new  2020-09-25 16:28:08.571710122 +0200
@@ -1,5 +1,5 @@
 name: pipewire
-version: 0.3.10
-mtime: 1597749552
-commit: 69be14186e20ffaa42c4a635be5da49173c45b97
+version: 0.3.11
+mtime: 1599736416
+commit: b0c758719dfd661d9d2237e780f93d56ea181669
 


Reply via email to