Accepting request 721534 from home:oholecek:branches:multimedia:libs

!NOT TO BE FORWARDED TO FACTORY!
https://bugreports.qt.io/browse/QTBUG-77037 needs to be solved first

- Update to 13 RC2 (12.99.2)
  * Added support for Dolby TrueHD and DTS-HD Master Audio
  * Improved initial card profile selection for ALSA cards
  * Bluetooth card profile choices aren't persistent any more by default
  * Added support for SteelSeries Arctis 5 USB headset
  * New "max_latency_msec" module argument for module-loopback
  * New "stream_name" module argument for module-rtp-send
  * Fixed S/PDIF for CMEDIA USB2.0 High-Speed True HD Audio
  * Use source sample spec and channel map by default in module-loopback
  * New "avoid_resampling" module argument for module-udev-detect and module-alsa-card
  * New function to enable realtime scheduling for client threads
  * Removed BlueZ 4 support
  * Dropped intltool
  * Some initial work on a Meson build system
  * https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/13.0/
- Removed patches already included in the source:
  pulseaudio-alsa.patch
  pa-set-exit-idle-time-to-0-when-we-detect-a-session.patch

OBS-URL: https://build.opensuse.org/request/show/721534
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pulseaudio?expand=0&rev=208
This commit is contained in:
Takashi Iwai 2019-08-08 12:28:22 +00:00 committed by Git OBS Bridge
parent d03ae33675
commit 3f8bbcdfbd
6 changed files with 28 additions and 246 deletions

View File

@ -1,113 +0,0 @@
From: Tanu Kaskinen <tanuk@iki.fi>
Subject: [PATCH] set exit-idle-time to 0 when we detect a session
Date: Wed, 28 Feb 2018 18:16:03 +0200
Message-Id: <20180228161603.30746-1-tanuk@iki.fi>
As the comments explain, this fixes relogin problems on some systems
that remove our sockets on logout without terminating the daemon.
---
src/modules/module-console-kit.c | 13 +++++++++++++
src/modules/module-systemd-login.c | 14 ++++++++++++++
src/modules/x11/module-x11-xsmp.c | 13 +++++++++++++
src/pulsecore/core.c | 10 ++++++++++
src/pulsecore/core.h | 2 ++
5 files changed, 52 insertions(+)
--- a/src/modules/module-console-kit.c
+++ b/src/modules/module-console-kit.c
@@ -120,6 +120,19 @@ static void add_session(struct userdata
pa_log_debug("Added new session %s", id);
+ /* Positive exit_idle_time is only useful when we have no session tracking
+ * capability, so we can set it to 0 now that we have detected a session.
+ * The benefit of setting exit_idle_time to 0 is that pulseaudio will exit
+ * immediately when the session ends. That in turn is useful, because some
+ * systems (those that use pam_systemd but don't use systemd for managing
+ * pulseaudio) clean $XDG_RUNTIME_DIR on logout, but fail to terminate all
+ * services that depend on the files in $XDG_RUNTIME_DIR. The directory
+ * contains our sockets, and if the sockets are removed without terminating
+ * pulseaudio, a quick relogin will likely cause trouble, because a new
+ * instance will be spawned while the old instance is still running. */
+ if (u->core->exit_idle_time > 0)
+ pa_core_set_exit_idle_time(u->core, 0);
+
fail:
if (m)
--- a/src/modules/module-systemd-login.c
+++ b/src/modules/module-systemd-login.c
@@ -86,6 +86,20 @@ static int add_session(struct userdata *
pa_hashmap_put(u->sessions, session->id, session);
pa_log_debug("Added new session %s", id);
+
+ /* Positive exit_idle_time is only useful when we have no session tracking
+ * capability, so we can set it to 0 now that we have detected a session.
+ * The benefit of setting exit_idle_time to 0 is that pulseaudio will exit
+ * immediately when the session ends. That in turn is useful, because some
+ * systems (those that use pam_systemd but don't use systemd for managing
+ * pulseaudio) clean $XDG_RUNTIME_DIR on logout, but fail to terminate all
+ * services that depend on the files in $XDG_RUNTIME_DIR. The directory
+ * contains our sockets, and if the sockets are removed without terminating
+ * pulseaudio, a quick relogin will likely cause trouble, because a new
+ * instance will be spawned while the old instance is still running. */
+ if (u->core->exit_idle_time > 0)
+ pa_core_set_exit_idle_time(u->core, 0);
+
return 0;
}
--- a/src/modules/x11/module-x11-xsmp.c
+++ b/src/modules/x11/module-x11-xsmp.c
@@ -208,6 +208,19 @@ int pa__init(pa_module*m) {
if (!u->client)
goto fail;
+ /* Positive exit_idle_time is only useful when we have no session tracking
+ * capability, so we can set it to 0 now that we have detected a session.
+ * The benefit of setting exit_idle_time to 0 is that pulseaudio will exit
+ * immediately when the session ends. That in turn is useful, because some
+ * systems (those that use pam_systemd but don't use systemd for managing
+ * pulseaudio) clean $XDG_RUNTIME_DIR on logout, but fail to terminate all
+ * services that depend on the files in $XDG_RUNTIME_DIR. The directory
+ * contains our sockets, and if the sockets are removed without terminating
+ * pulseaudio, a quick relogin will likely cause trouble, because a new
+ * instance will be spawned while the old instance is still running. */
+ if (u->core->exit_idle_time > 0)
+ pa_core_set_exit_idle_time(u->core, 0);
+
pa_modargs_free(ma);
return 0;
--- a/src/pulsecore/core.c
+++ b/src/pulsecore/core.c
@@ -426,6 +426,16 @@ void pa_core_update_default_source(pa_co
pa_hook_fire(&core->hooks[PA_CORE_HOOK_DEFAULT_SOURCE_CHANGED], core->default_source);
}
+void pa_core_set_exit_idle_time(pa_core *core, int time) {
+ pa_assert(core);
+
+ if (time == core->exit_idle_time)
+ return;
+
+ pa_log_info("exit_idle_time: %i -> %i", core->exit_idle_time, time);
+ core->exit_idle_time = time;
+}
+
static void exit_callback(pa_mainloop_api *m, pa_time_event *e, const struct timeval *t, void *userdata) {
pa_core *c = userdata;
pa_assert(c->exit_event == e);
--- a/src/pulsecore/core.h
+++ b/src/pulsecore/core.h
@@ -254,6 +254,8 @@ void pa_core_set_configured_default_sour
void pa_core_update_default_sink(pa_core *core);
void pa_core_update_default_source(pa_core *core);
+void pa_core_set_exit_idle_time(pa_core *core, int time);
+
/* Check whether no one is connected to this core */
void pa_core_check_idle(pa_core *c);

View File

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

View File

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

View File

@ -1,123 +0,0 @@
---
configure.ac | 2 +-
src/modules/alsa/alsa-mixer.c | 2 +-
src/modules/alsa/alsa-mixer.h | 2 +-
src/modules/alsa/alsa-sink.c | 2 +-
src/modules/alsa/alsa-source.c | 2 +-
src/modules/alsa/alsa-ucm.c | 2 +-
src/modules/alsa/alsa-ucm.h | 2 +-
src/modules/alsa/alsa-util.c | 2 +-
src/modules/alsa/alsa-util.h | 2 +-
src/modules/alsa/module-alsa-source.c | 2 +-
10 files changed, 10 insertions(+), 10 deletions(-)
--- a/src/modules/alsa/alsa-mixer.c
+++ b/src/modules/alsa/alsa-mixer.c
@@ -23,7 +23,7 @@
#endif
#include <sys/types.h>
-#include <asoundlib.h>
+#include <alsa/asoundlib.h>
#include <math.h>
#ifdef HAVE_VALGRIND_MEMCHECK_H
--- a/src/modules/alsa/alsa-mixer.h
+++ b/src/modules/alsa/alsa-mixer.h
@@ -21,7 +21,7 @@
along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
***/
-#include <asoundlib.h>
+#include <alsa/asoundlib.h>
#include <pulse/sample.h>
#include <pulse/mainloop-api.h>
--- a/src/modules/alsa/alsa-sink.c
+++ b/src/modules/alsa/alsa-sink.c
@@ -25,7 +25,7 @@
#include <signal.h>
#include <stdio.h>
-#include <asoundlib.h>
+#include <alsa/asoundlib.h>
#ifdef HAVE_VALGRIND_MEMCHECK_H
#include <valgrind/memcheck.h>
--- a/src/modules/alsa/alsa-source.c
+++ b/src/modules/alsa/alsa-source.c
@@ -25,7 +25,7 @@
#include <signal.h>
#include <stdio.h>
-#include <asoundlib.h>
+#include <alsa/asoundlib.h>
#include <pulse/rtclock.h>
#include <pulse/timeval.h>
--- a/src/modules/alsa/alsa-ucm.c
+++ b/src/modules/alsa/alsa-ucm.c
@@ -27,7 +27,7 @@
#include <ctype.h>
#include <sys/types.h>
#include <limits.h>
-#include <asoundlib.h>
+#include <alsa/asoundlib.h>
#ifdef HAVE_VALGRIND_MEMCHECK_H
#include <valgrind/memcheck.h>
--- a/src/modules/alsa/alsa-util.c
+++ b/src/modules/alsa/alsa-util.c
@@ -23,7 +23,7 @@
#endif
#include <sys/types.h>
-#include <asoundlib.h>
+#include <alsa/asoundlib.h>
#include <pulse/sample.h>
#include <pulse/xmalloc.h>
--- a/src/modules/alsa/alsa-util.h
+++ b/src/modules/alsa/alsa-util.h
@@ -21,7 +21,7 @@
along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
***/
-#include <asoundlib.h>
+#include <alsa/asoundlib.h>
#include <pulse/sample.h>
#include <pulse/channelmap.h>
--- a/src/modules/alsa/module-alsa-source.c
+++ b/src/modules/alsa/module-alsa-source.c
@@ -24,7 +24,7 @@
#include <stdio.h>
-#include <asoundlib.h>
+#include <alsa/asoundlib.h>
#ifdef HAVE_VALGRIND_MEMCHECK_H
#include <valgrind/memcheck.h>
--- a/configure.ac
+++ b/configure.ac
@@ -833,7 +833,7 @@ AS_IF([test "x$enable_alsa" = "xyes" &&
AS_IF([test "x$HAVE_ALSA" = "x1"],
[
save_CPPFLAGS="$CPPFLAGS"; CPPFLAGS="$CPPFLAGS $ASOUNDLIB_CFLAGS"
- AC_CHECK_HEADERS([use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0)
+ AC_CHECK_HEADERS([alsa/use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0)
CPPFLAGS="$save_CPPFLAGS"
],
HAVE_ALSA_UCM=0)
--- a/src/modules/alsa/alsa-ucm.h
+++ b/src/modules/alsa/alsa-ucm.h
@@ -23,7 +23,7 @@
***/
#ifdef HAVE_ALSA_UCM
-#include <use-case.h>
+#include <alsa/use-case.h>
#else
typedef void snd_use_case_mgr_t;
#endif

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Tue Aug 6 20:18:24 UTC 2019 - Ondrej Holecek <oholecek@suse.com>
- Update to 13 RC2 (12.99.2)
* Added support for Dolby TrueHD and DTS-HD Master Audio
* Improved initial card profile selection for ALSA cards
* Bluetooth card profile choices aren't persistent any more by default
* Added support for SteelSeries Arctis 5 USB headset
* New "max_latency_msec" module argument for module-loopback
* New "stream_name" module argument for module-rtp-send
* Fixed S/PDIF for CMEDIA USB2.0 High-Speed True HD Audio
* Use source sample spec and channel map by default in module-loopback
* New "avoid_resampling" module argument for module-udev-detect and module-alsa-card
* New function to enable realtime scheduling for client threads
* Removed BlueZ 4 support
* Dropped intltool
* Some initial work on a Meson build system
* https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/13.0/
- Removed patches already included in the source:
pulseaudio-alsa.patch
pa-set-exit-idle-time-to-0-when-we-detect-a-session.patch
-------------------------------------------------------------------
Thu Jul 11 17:50:21 UTC 2019 - Antoine Belvire <antoine.belvire@opensuse.org>

View File

@ -21,12 +21,12 @@
%define _fillupdir /var/adm/fillup-templates
%endif
%define drvver 12.2
%define drvver 12.99
%define soname 0
%define _udevrulesdir %(pkg-config --variable=udevdir udev)/rules.d
%define _bashcompletionsdir %{_datadir}/bash-completion/completions
Name: pulseaudio
Version: 12.2
Version: 12.99.2
Release: 0
Summary: A Networked Sound Server
License: GPL-2.0-or-later AND LGPL-2.1-or-later
@ -45,8 +45,6 @@ Source99: baselibs.conf
Patch0: disabled-start.diff
Patch1: suppress-socket-error-msg.diff
Patch2: pulseaudio-wrong-memset.patch
Patch3: pulseaudio-alsa.patch
Patch4: pa-set-exit-idle-time-to-0-when-we-detect-a-session.patch
# PATCH-FIX-OPENSUSE qpaeq-shebang.patch Avoid rpmlint error due to using env python shebang
Patch5: qpaeq-shebang.patch
BuildRequires: alsa-devel >= 1.0.19
@ -55,7 +53,6 @@ BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: fftw3-devel >= 3.0
BuildRequires: gcc-c++
BuildRequires: intltool
BuildRequires: jack-devel
BuildRequires: libatomic_ops-devel >= 1.2
BuildRequires: libavahi-devel
@ -88,6 +85,7 @@ BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(x11-xcb)
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xtst)
Requires: rtkit
Requires: udev >= 146
## needs the same liborc version which was used to build against
@ -339,8 +337,6 @@ Optional dependency offering zsh completion for various PulseAudio utilities
%patch0
%patch1 -p1
%patch2
%patch3 -p1
%patch4 -p1
%patch5
%build