Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pulseaudio for openSUSE:Factory 
checked in at 2022-07-21 11:32:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pulseaudio (Old)
 and      /work/SRC/openSUSE:Factory/.pulseaudio.new.1523 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pulseaudio"

Thu Jul 21 11:32:58 2022 rev:195 rq:989953 version:16.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/pulseaudio/pulseaudio.changes    2022-06-01 
17:33:52.238684696 +0200
+++ /work/SRC/openSUSE:Factory/.pulseaudio.new.1523/pulseaudio.changes  
2022-07-21 11:33:26.250950361 +0200
@@ -1,0 +2,13 @@
+Mon Jul 18 12:17:39 UTC 2022 - Takashi Iwai <ti...@suse.com>
+
+- Update to 16.1 (bsc#1201331):
+ * Fix parsing of percentage volumes with decimal points in pactl
+ * Fix crash with the "pacmd play-file" command when reads from the
+   disk aren't frame-aligned
+ * Fix module-rtp-recv sometimes thinking it's receiving an Opus
+   stream when it's not
+ * Fix frequent crashing in module-combine-sink, regression in 16.0
+ * Fix crashing on 32-bit architectures when using the GStreamer
+   codecs for LDAC and AptX
+
+-------------------------------------------------------------------

Old:
----
  pulseaudio-16.0.tar.xz

New:
----
  pulseaudio-16.1.tar.xz

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

Other differences:
------------------
++++++ pulseaudio.spec ++++++
--- /var/tmp/diff_new_pack.00KdmV/_old  2022-07-21 11:33:26.822950925 +0200
+++ /var/tmp/diff_new_pack.00KdmV/_new  2022-07-21 11:33:26.822950925 +0200
@@ -24,12 +24,12 @@
   %define _fillupdir /var/adm/fillup-templates
 %endif
 
-%define drvver  16.0
+%define drvver  16.1
 %define soname  0
 %define _udevrulesdir %(pkg-config --variable=udevdir udev)/rules.d
 %define _bashcompletionsdir %{_datadir}/bash-completion/completions
 Name:           pulseaudio
-Version:        16.0
+Version:        16.1
 Release:        0
 Summary:        A Networked Sound Server
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later

++++++ pulseaudio-16.0.tar.xz -> pulseaudio-16.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-16.0/.tarball-version 
new/pulseaudio-16.1/.tarball-version
--- old/pulseaudio-16.0/.tarball-version        2022-05-28 17:24:24.205100500 
+0200
+++ new/pulseaudio-16.1/.tarball-version        2022-06-22 12:53:31.000000000 
+0200
@@ -1 +1 @@
-16.0
+16.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-16.0/NEWS new/pulseaudio-16.1/NEWS
--- old/pulseaudio-16.0/NEWS    2022-05-28 17:18:37.000000000 +0200
+++ new/pulseaudio-16.1/NEWS    2022-06-21 12:54:48.000000000 +0200
@@ -1,3 +1,22 @@
+PulseAudio 16.1
+
+A bug fix release.
+
+ * Fix parsing of percentage volumes with decimal points in pactl
+ * Fix crash with the "pacmd play-file" command when reads from the disk 
aren't frame-aligned
+ * Fix module-rtp-recv sometimes thinking it's receiving an Opus stream when 
it's not
+ * Fix frequent crashing in module-combine-sink, regression in 16.0
+ * Fix crashing on 32-bit architectures when using the GStreamer codecs for 
LDAC and AptX
+
+Contributors
+
+Georg Chini
+Igor V. Kovalenko
+Jaechul Lee
+Jan Palus
+Sean Greenslade
+
+
 PulseAudio 16.0
 
 Changes at a glance:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pulseaudio-16.0/src/modules/bluetooth/a2dp-codec-gst.c 
new/pulseaudio-16.1/src/modules/bluetooth/a2dp-codec-gst.c
--- old/pulseaudio-16.0/src/modules/bluetooth/a2dp-codec-gst.c  2022-05-28 
17:18:37.000000000 +0200
+++ new/pulseaudio-16.1/src/modules/bluetooth/a2dp-codec-gst.c  2022-06-21 
12:54:48.000000000 +0200
@@ -22,6 +22,7 @@
 #endif
 
 #include <arpa/inet.h>
+#include <stdint.h>
 
 #include <pulsecore/log.h>
 #include <pulsecore/macro.h>
@@ -82,7 +83,7 @@
 static GstCaps *gst_create_caps_from_sample_spec(const pa_sample_spec *ss) {
     gchar *sample_format;
     GstCaps *caps;
-    int channel_mask;
+    uint64_t channel_mask;
 
     switch (ss->format) {
         case PA_SAMPLE_S16LE:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-16.0/src/modules/rtp/sdp.c 
new/pulseaudio-16.1/src/modules/rtp/sdp.c
--- old/pulseaudio-16.0/src/modules/rtp/sdp.c   2022-05-28 17:18:37.000000000 
+0200
+++ new/pulseaudio-16.1/src/modules/rtp/sdp.c   2022-06-21 12:54:48.000000000 
+0200
@@ -129,6 +129,7 @@
     i->origin = i->session_name = NULL;
     i->salen = 0;
     i->payload = 255;
+    i->enable_opus = false;
 
     if (!pa_startswith(t, PA_SDP_HEADER)) {
         pa_log("Failed to parse SDP data: invalid header.");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-16.0/src/pulsecore/sink.c 
new/pulseaudio-16.1/src/pulsecore/sink.c
--- old/pulseaudio-16.0/src/pulsecore/sink.c    2022-05-28 17:18:37.000000000 
+0200
+++ new/pulseaudio-16.1/src/pulsecore/sink.c    2022-06-21 12:54:48.000000000 
+0200
@@ -1016,20 +1016,29 @@
         if (i->origin_sink) {
             size_t filter_result, left_to_play_origin;
 
-            /* The recursive call works in the origin sink domain ... */
-            left_to_play_origin = pa_convert_size(left_to_play, 
&i->sink->sample_spec, &i->origin_sink->sample_spec);
+            /* The combine sink sets i->origin sink but has a different 
threading model
+             * than the filter sinks. Therefore the recursion below may not be 
executed
+             * because pa_sink_process_input_underruns() was not called in the 
thread
+             * context of the origin sink.
+             * FIXME: It is unclear if some other kind of recursion would be 
necessary
+             * for the combine sink. */
+            if (!i->module || !pa_safe_streq(i->module->name, 
"module-combine-sink")) {
 
-            /* .. and returns the time to sleep before waking up. We need the
-             * underrun duration for comparisons, so we undo the subtraction on
-             * the return value... */
-            filter_result = left_to_play_origin - 
pa_sink_process_input_underruns(i->origin_sink, left_to_play_origin);
-
-            /* ... and convert it back to the master sink domain */
-            filter_result = pa_convert_size(filter_result, 
&i->origin_sink->sample_spec, &i->sink->sample_spec);
-
-            /* Remember the longest underrun so far */
-            if (filter_result > result)
-                result = filter_result;
+                /* The recursive call works in the origin sink domain ... */
+                left_to_play_origin = pa_convert_size(left_to_play, 
&i->sink->sample_spec, &i->origin_sink->sample_spec);
+
+                /* .. and returns the time to sleep before waking up. We need 
the
+                 * underrun duration for comparisons, so we undo the 
subtraction on
+                 * the return value... */
+                filter_result = left_to_play_origin - 
pa_sink_process_input_underruns(i->origin_sink, left_to_play_origin);
+
+                /* ... and convert it back to the master sink domain */
+                filter_result = pa_convert_size(filter_result, 
&i->origin_sink->sample_spec, &i->sink->sample_spec);
+
+                /* Remember the longest underrun so far */
+                if (filter_result > result)
+                    result = filter_result;
+            }
         }
 
         if (uf == 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-16.0/src/pulsecore/sound-file-stream.c 
new/pulseaudio-16.1/src/pulsecore/sound-file-stream.c
--- old/pulseaudio-16.0/src/pulsecore/sound-file-stream.c       2022-05-28 
17:18:37.000000000 +0200
+++ new/pulseaudio-16.1/src/pulsecore/sound-file-stream.c       2022-06-21 
12:54:48.000000000 +0200
@@ -185,7 +185,7 @@
 
         tchunk.length = (size_t) n * fs;
 
-        pa_memblockq_push(u->memblockq, &tchunk);
+        pa_memblockq_push_align(u->memblockq, &tchunk);
         pa_memblock_unref(tchunk.memblock);
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-16.0/src/utils/pactl.c 
new/pulseaudio-16.1/src/utils/pactl.c
--- old/pulseaudio-16.0/src/utils/pactl.c       2022-05-28 17:18:37.000000000 
+0200
+++ new/pulseaudio-16.1/src/utils/pactl.c       2022-06-21 12:54:48.000000000 
+0200
@@ -2527,16 +2527,16 @@
     vs = pa_xstrdup(vol_spec);
 
     *vol_flags = (pa_startswith(vs, "+") || pa_startswith(vs, "-")) ? 
VOL_RELATIVE : VOL_ABSOLUTE;
-    if (strchr(vs, '.'))
-        *vol_flags |= VOL_LINEAR;
     if (pa_endswith(vs, "%")) {
         *vol_flags |= VOL_PERCENT;
         vs[strlen(vs)-1] = 0;
     }
-    if (pa_endswith(vs, "db") || pa_endswith(vs, "dB")) {
+    else if (pa_endswith(vs, "db") || pa_endswith(vs, "dB")) {
         *vol_flags |= VOL_DECIBEL;
         vs[strlen(vs)-2] = 0;
     }
+    else if (strchr(vs, '.'))
+        *vol_flags |= VOL_LINEAR;
 
     atod_input = vs;
 
@@ -2597,7 +2597,7 @@
 
     volume.channels = n;
     for (i = 0; i < volume.channels; i++) {
-        enum volume_flags flags;
+        enum volume_flags flags = 0;
 
         if (parse_volume(args[i], &volume.values[i], &flags) < 0)
             return -1;

Reply via email to