summaryrefslogtreecommitdiff
path: root/media-sound/pulseaudio/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-06-30 17:36:28 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-06-30 17:36:28 +0100
commit7014a5a3ea0feffab9701fdd6b64cc7667a985af (patch)
treef2cbbaa8bb9209cd15208721103228336149b799 /media-sound/pulseaudio/files
parent7a86906b67693cc65671d3e1476835d3a7e13092 (diff)
gentoo resync : 30.06.2019
Diffstat (limited to 'media-sound/pulseaudio/files')
-rw-r--r--media-sound/pulseaudio/files/pulseaudio-12.2-alsa-header-path.patch130
-rw-r--r--media-sound/pulseaudio/files/pulseaudio-12.2-alsa-header-path2.patch45
-rw-r--r--media-sound/pulseaudio/files/pulseaudio-12.2-exit-time-session.patch181
3 files changed, 356 insertions, 0 deletions
diff --git a/media-sound/pulseaudio/files/pulseaudio-12.2-alsa-header-path.patch b/media-sound/pulseaudio/files/pulseaudio-12.2-alsa-header-path.patch
new file mode 100644
index 000000000000..334af3ee7552
--- /dev/null
+++ b/media-sound/pulseaudio/files/pulseaudio-12.2-alsa-header-path.patch
@@ -0,0 +1,130 @@
+From 993d3fd89e5611997f1e165bf03edefb0204b0a4 Mon Sep 17 00:00:00 2001
+From: Olaf Hering <olaf@aepfle.de>
+Date: Wed, 27 Mar 2019 09:35:05 +0100
+Subject: [PATCH 287/375] alsa: Use correct header path
+
+Consumers are expected to use <alsa/asoundlib.h> instead of
+<asoundlib.h>.
+
+This is in preparation of an change to pkgconfig(alsa) to
+not pollute CFLAGS with -I/usr/include/alsa anymore.
+
+Signed-off-by: Olaf Hering <olaf@aepfle.de>
+---
+ 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-util.c | 2 +-
+ src/modules/alsa/alsa-util.h | 2 +-
+ src/modules/alsa/module-alsa-source.c | 2 +-
+ 8 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
+index 5cb99c8fd..cd99a75f8 100644
+--- 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
+diff --git a/src/modules/alsa/alsa-mixer.h b/src/modules/alsa/alsa-mixer.h
+index 3ea4d7329..65b071165 100644
+--- 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>
+diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
+index 28143402a..4b46708ce 100644
+--- 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>
+diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c
+index 8129220b0..c8bf649e1 100644
+--- 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>
+diff --git a/src/modules/alsa/alsa-ucm.c b/src/modules/alsa/alsa-ucm.c
+index 341c8012e..0a40ca8fe 100644
+--- 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>
+diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c
+index e8d712e72..bd0a47e50 100644
+--- 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>
+diff --git a/src/modules/alsa/alsa-util.h b/src/modules/alsa/alsa-util.h
+index 6b27339ec..4ceaa06ee 100644
+--- 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>
+diff --git a/src/modules/alsa/module-alsa-source.c b/src/modules/alsa/module-alsa-source.c
+index af6800dd2..747ba9342 100644
+--- 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>
+--
+2.21.0
+
diff --git a/media-sound/pulseaudio/files/pulseaudio-12.2-alsa-header-path2.patch b/media-sound/pulseaudio/files/pulseaudio-12.2-alsa-header-path2.patch
new file mode 100644
index 000000000000..c592da2205ee
--- /dev/null
+++ b/media-sound/pulseaudio/files/pulseaudio-12.2-alsa-header-path2.patch
@@ -0,0 +1,45 @@
+From b89d33bb182c42db5ad3987b0e91b7bf62f421e8 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Sun, 21 Apr 2019 11:59:30 +0200
+Subject: [PATCH 304/375] alsa: Fix inclusion of use-case.h
+
+The recent change in ALSA upstream stripped -I$include/alsa path from
+pkgconfig. We already fixed for this change in some places but still
+the code for UCM was overlooked, and this resulted in the unresolved
+symbols in alsa card module. Fix them as well.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+---
+ configure.ac | 2 +-
+ src/modules/alsa/alsa-ucm.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c004bd70d..b44ed1595 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -826,7 +826,7 @@ AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
+ 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)
+diff --git a/src/modules/alsa/alsa-ucm.h b/src/modules/alsa/alsa-ucm.h
+index 53abf3f90..c926f3cc3 100644
+--- 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
+--
+2.21.0
+
diff --git a/media-sound/pulseaudio/files/pulseaudio-12.2-exit-time-session.patch b/media-sound/pulseaudio/files/pulseaudio-12.2-exit-time-session.patch
new file mode 100644
index 000000000000..045ab5567d8d
--- /dev/null
+++ b/media-sound/pulseaudio/files/pulseaudio-12.2-exit-time-session.patch
@@ -0,0 +1,181 @@
+From de705a0eeaa27a8ac1abdc2625e639340323595a Mon Sep 17 00:00:00 2001
+From: Tanu Kaskinen <tanuk@iki.fi>
+Date: Tue, 6 Mar 2018 15:09:06 +0200
+Subject: [PATCH 08/77] set exit_idle_time to 0 when we detect a session
+
+As the comments explain, this fixes relogin problems on some systems
+that remove our sockets on logout without terminating the daemon.
+---
+ man/pulse-daemon.conf.5.xml.in | 15 ++++++++++++---
+ man/pulseaudio.1.xml.in | 17 +++++++++++++++--
+ 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 ++
+ 7 files changed, 79 insertions(+), 5 deletions(-)
+
+diff --git a/man/pulse-daemon.conf.5.xml.in b/man/pulse-daemon.conf.5.xml.in
+index f0550f3b..f49fa9b0 100644
+--- a/man/pulse-daemon.conf.5.xml.in
++++ b/man/pulse-daemon.conf.5.xml.in
+@@ -292,9 +292,18 @@ License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
+ <option>
+ <p><opt>exit-idle-time=</opt> Terminate the daemon after the
+ last client quit and this time in seconds passed. Use a negative value to
+- disable this feature. Defaults to 20. The
+- <opt>--exit-idle-time</opt> command line option takes
+- precedence.</p>
++ disable this feature. Defaults to 20. The <opt>--exit-idle-time</opt>
++ command line option takes precedence.</p>
++
++ <p>When PulseAudio runs in the per-user mode and detects a login
++ session, then any positive value will be reset to 0 so that PulseAudio
++ will terminate immediately on logout. A positive value therefore has
++ effect only in environments where there's no support for login session
++ tracking. A negative value can still be used to disable any automatic
++ exit.</p>
++
++ <p>When PulseAudio runs in the system mode, automatic exit is always
++ disabled, so this option does nothing.</p>
+ </option>
+
+ <option>
+diff --git a/man/pulseaudio.1.xml.in b/man/pulseaudio.1.xml.in
+index f732b8ae..824eddb4 100644
+--- a/man/pulseaudio.1.xml.in
++++ b/man/pulseaudio.1.xml.in
+@@ -189,8 +189,21 @@ License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
+ <option>
+ <p><opt>--exit-idle-time</opt><arg>=SECS</arg></p>
+
+- <optdesc><p>Terminate the daemon when idle and the specified
+- number of seconds passed.</p></optdesc>
++ <optdesc>
++ <p>Terminate the daemon after the last client quit and this time in
++ seconds passed. Use a negative value to disable this feature. Defaults
++ to 20.</p>
++
++ <p>When PulseAudio runs in the per-user mode and detects a login
++ session, then any positive value will be reset to 0 so that PulseAudio
++ will terminate immediately on logout. A positive value therefore has
++ effect only in environments where there's no support for login session
++ tracking. A negative value can still be used to disable any automatic
++ exit.</p>
++
++ <p>When PulseAudio runs in the system mode, automatic exit is always
++ disabled, so this option does nothing.</p>
++ </optdesc>
+ </option>
+
+ <option>
+diff --git a/src/modules/module-console-kit.c b/src/modules/module-console-kit.c
+index c7938849..c8fe2ed2 100644
+--- a/src/modules/module-console-kit.c
++++ b/src/modules/module-console-kit.c
+@@ -118,6 +118,19 @@ static void add_session(struct userdata *u, const char *id) {
+
+ 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)
+diff --git a/src/modules/module-systemd-login.c b/src/modules/module-systemd-login.c
+index 87981592..51401575 100644
+--- a/src/modules/module-systemd-login.c
++++ b/src/modules/module-systemd-login.c
+@@ -84,6 +84,20 @@ static int add_session(struct userdata *u, const char *id) {
+ 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;
+ }
+
+diff --git a/src/modules/x11/module-x11-xsmp.c b/src/modules/x11/module-x11-xsmp.c
+index 0238e516..6f801237 100644
+--- a/src/modules/x11/module-x11-xsmp.c
++++ b/src/modules/x11/module-x11-xsmp.c
+@@ -206,6 +206,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;
+diff --git a/src/pulsecore/core.c b/src/pulsecore/core.c
+index 79abbc04..da42a13e 100644
+--- a/src/pulsecore/core.c
++++ b/src/pulsecore/core.c
+@@ -426,6 +426,16 @@ void pa_core_update_default_source(pa_core *core) {
+ 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);
+diff --git a/src/pulsecore/core.h b/src/pulsecore/core.h
+index 213964ce..38622f61 100644
+--- a/src/pulsecore/core.h
++++ b/src/pulsecore/core.h
+@@ -258,6 +258,8 @@ void pa_core_set_configured_default_source(pa_core *core, const char *source);
+ 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);
+
+--
+2.17.1
+