pulseaudio-12.1
This commit is contained in:
parent
6a03b168aa
commit
ad35032b29
@ -1,68 +0,0 @@
|
||||
From patchwork Wed Jul 4 11:25:26 2018
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Subject: ladspa-sink: fix search path
|
||||
From: Tanu Kaskinen <tanuk@iki.fi>
|
||||
X-Patchwork-Id: 236297
|
||||
Message-Id: <20180704112526.31236-1-tanuk@iki.fi>
|
||||
To: pulseaudio-discuss@lists.freedesktop.org
|
||||
Date: Wed, 4 Jul 2018 14:25:26 +0300
|
||||
|
||||
Having a single level macro for stringizing LADSPA_PATH doesn't work,
|
||||
because the '#' preprocessor operator doesn't expand any macros in its
|
||||
parameter. As a result, we used the string "LADSPA_PATH" as the search
|
||||
path, and obviously no plugins were ever found.
|
||||
|
||||
This adds a two-level macro in macro.h and uses that to expand and
|
||||
stringize LADSPA_PATH.
|
||||
|
||||
Bug link: https://bugs.freedesktop.org/show_bug.cgi?id=107078
|
||||
---
|
||||
src/modules/module-ladspa-sink.c | 14 ++++++--------
|
||||
src/pulsecore/macro.h | 6 ++++++
|
||||
2 files changed, 12 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/src/modules/module-ladspa-sink.c b/src/modules/module-ladspa-sink.c
|
||||
index c654530a3..0bde922bf 100644
|
||||
--- a/src/modules/module-ladspa-sink.c
|
||||
+++ b/src/modules/module-ladspa-sink.c
|
||||
@@ -1054,15 +1054,13 @@ int pa__init(pa_module*m) {
|
||||
u->output = NULL;
|
||||
u->ss = ss;
|
||||
|
||||
- /* If the LADSPA_PATH environment variable is not set, we use the
|
||||
- * LADSPA_PATH preprocessor macro instead. The macro can contain characters
|
||||
- * that need to be escaped (especially on Windows backslashes are common).
|
||||
- * The "#" preprocessor operator helpfully adds the required escaping while
|
||||
- * turning the LADSPA_PATH macro into a string. */
|
||||
-#define QUOTE_MACRO(x) #x
|
||||
if (!(e = getenv("LADSPA_PATH")))
|
||||
- e = QUOTE_MACRO(LADSPA_PATH);
|
||||
-#undef QUOTE_MACRO
|
||||
+ /* The LADSPA_PATH preprocessor macro isn't a string literal (i.e. it
|
||||
+ * doesn't contain quotes), because otherwise the build system would
|
||||
+ * have an extra burden of getting the escaping right (Windows paths
|
||||
+ * are especially tricky). PA_EXPAND_AND_STRINGIZE does the necessary
|
||||
+ * escaping. */
|
||||
+ e = PA_EXPAND_AND_STRINGIZE(LADSPA_PATH);
|
||||
|
||||
/* FIXME: This is not exactly thread safe */
|
||||
t = pa_xstrdup(lt_dlgetsearchpath());
|
||||
diff --git a/src/pulsecore/macro.h b/src/pulsecore/macro.h
|
||||
index dbce5cd06..bb15b7f01 100644
|
||||
--- a/src/pulsecore/macro.h
|
||||
+++ b/src/pulsecore/macro.h
|
||||
@@ -298,6 +298,12 @@ static inline size_t PA_ALIGN(size_t l) {
|
||||
? (-1 - PA_INT_TYPE_MAX(type)) \
|
||||
: (type) 0))
|
||||
|
||||
+/* The '#' preprocessor operator doesn't expand any macros that are in the
|
||||
+ * parameter, which is why we need a separate macro for those cases where the
|
||||
+ * parameter contains a macro that needs expanding. */
|
||||
+#define PA_STRINGIZE(x) #x
|
||||
+#define PA_EXPAND_AND_STRINGIZE(x) PA_STRINGIZE(x)
|
||||
+
|
||||
/* We include this at the very last place */
|
||||
#include <pulsecore/log.h>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
%global pa_major 12.0
|
||||
#global pa_minor 0
|
||||
%global pa_major 12.1
|
||||
#global pa_minor 0
|
||||
|
||||
#global snap 20180411
|
||||
#global gitrel 129
|
||||
@ -39,7 +39,7 @@
|
||||
Name: pulseaudio
|
||||
Summary: Improved Linux Sound Server
|
||||
Version: %{pa_major}%{?pa_minor:.%{pa_minor}}
|
||||
Release: 4%{?snap:.%{snap}git%{shortcommit}}%{?dist}
|
||||
Release: 1%{?snap:.%{snap}git%{shortcommit}}%{?dist}
|
||||
License: LGPLv2+
|
||||
URL: http://www.freedesktop.org/wiki/Software/PulseAudio
|
||||
%if 0%{?gitrel}
|
||||
@ -71,14 +71,6 @@ Patch206: pulseaudio-11.1-autospawn_disable.patch
|
||||
Patch8: 0008-set-exit_idle_time-to-0-when-we-detect-a-session.patch
|
||||
|
||||
## upstreamable patches
|
||||
# candidate fix for
|
||||
#https://bugzilla.redhat.com/show_bug.cgi?id=1594596
|
||||
#https://bugs.freedesktop.org/show_bug.cgi?id=107044
|
||||
Patch100: switch-on-port-available-ignore-bluetooth-cards.patch
|
||||
# candidate fix for
|
||||
#https://bugzilla.redhat.com/show_bug.cgi?id=1594568
|
||||
#https://bugs.freedesktop.org/show_bug.cgi?id=107078
|
||||
Patch101: ladspa-sink-fix-search-path.patch
|
||||
|
||||
BuildRequires: automake libtool
|
||||
BuildRequires: gcc-c++
|
||||
@ -281,8 +273,6 @@ This package contains GDM integration hooks for the PulseAudio sound server.
|
||||
%patch8 -p1 -b .0008
|
||||
|
||||
## upstreamable patches
|
||||
%patch100 -p1 -b .switch-on-port-available-ignore-bluetooth-cards
|
||||
%patch101 -p1 -b .ladspa-sink-fix-search-path
|
||||
|
||||
%patch201 -p1 -b .autostart
|
||||
%patch202 -p1 -b .disable_flat_volumes
|
||||
@ -470,7 +460,6 @@ exit 0
|
||||
%if 0%{?with_webrtc}
|
||||
%{_libdir}/pulse-%{pa_major}/modules/libwebrtc-util.so
|
||||
%endif
|
||||
#{_libdir}/pulse-%{pa_major}/modules/module-access.so
|
||||
%{_libdir}/pulse-%{pa_major}/modules/module-allow-passthrough.so
|
||||
%{_libdir}/pulse-%{pa_major}/modules/module-alsa-sink.so
|
||||
%{_libdir}/pulse-%{pa_major}/modules/module-alsa-source.so
|
||||
@ -483,7 +472,6 @@ exit 0
|
||||
%{_libdir}/pulse-%{pa_major}/modules/module-dbus-protocol.so
|
||||
%{_libdir}/pulse-%{pa_major}/modules/module-filter-apply.so
|
||||
%{_libdir}/pulse-%{pa_major}/modules/module-filter-heuristics.so
|
||||
#{_libdir}/pulse-%{pa_major}/modules/module-flatpak.so
|
||||
%{_libdir}/pulse-%{pa_major}/modules/module-device-manager.so
|
||||
%{_libdir}/pulse-%{pa_major}/modules/module-loopback.so
|
||||
%{_libdir}/pulse-%{pa_major}/modules/module-esound-compat-spawnfd.so
|
||||
@ -680,6 +668,9 @@ exit 0
|
||||
|
||||
|
||||
%changelog
|
||||
* Sat Jul 14 2018 Rex Dieter <rdieter@fedoraproject.org> - 12.1-1
|
||||
- pulseaudio-12.1
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 12.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
|
||||
6
sources
6
sources
@ -1,3 +1,3 @@
|
||||
SHA512 (pulseaudio-12.0.tar.xz) = e9b02522f1e9cc2cf2e9db3364153fff5bc70561df34bc8e254e373a24c45585c1c722de8b6ebd7cd1814f523cf29b67c6940390a6fcc1ccbdde5aeff48f8d8c
|
||||
SHA512 (pulseaudio-12.0.tar.xz.md5) = 8103288e53e200fb5d58ba9615f4b98b86d6333e247fbc8aa9f6639afaf867da2dc5ed853996cfb60ee7522bfc1b0bbb7258f1cbecb31a34784f185e7d050e3f
|
||||
SHA512 (pulseaudio-12.0.tar.xz.sha1) = f761c1778d1d41109bc5cec35a0375b02431d84839b795b714ef75f8376cd0d17b7df30be386c024fac55f3b36b8f0809915f22e9f4b4f7018f853605b8e1c36
|
||||
SHA512 (pulseaudio-12.1.tar.xz) = 96be47a23fe0c78be741320a9240bfda4ad4a3e707b06153be3591645ba31884ef5a5e608cb3bd509c49f57b6e252966338d630ddb8c286bf6346b4228bba6b5
|
||||
SHA512 (pulseaudio-12.1.tar.xz.md5) = f003de597c759af99528fc4e51840b32a50a95352e2e50f7f34a71ac8ed24a92fe2cc7a48f0633f089c7017964d61c335266b5cd15aa859a5e56b822dea11338
|
||||
SHA512 (pulseaudio-12.1.tar.xz.sha1) = 777aae2a9b4a619a78c5ee614954d4d2ff25c4542331849d48836b6ef3a6eda03e2e5134a46569dfcbba8a4bd61ddf301e7a05c17366e81dc6af1abe06260f7a
|
||||
|
||||
@ -1,43 +0,0 @@
|
||||
From patchwork Fri Jun 29 11:33:44 2018
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Subject: switch-on-port-available: ignore bluetooth cards
|
||||
From: Tanu Kaskinen <tanuk@iki.fi>
|
||||
X-Patchwork-Id: 233880
|
||||
Message-Id: <20180629113344.31555-1-tanuk@iki.fi>
|
||||
To: pulseaudio-discuss@lists.freedesktop.org
|
||||
Date: Fri, 29 Jun 2018 14:33:44 +0300
|
||||
|
||||
When the user manually switches the profile of a bluetooth headset from
|
||||
"off" to "a2dp_sink", the port availability changes from "unknown" to
|
||||
"yes", which triggered a recursive profile change in
|
||||
module-switch-on-port-available. Such recursivity isn't (and possibly
|
||||
can't) be handled well (that is, PulseAudio crashed), so let's avoid
|
||||
doing bluetooth profile changes from module-switch-on-port-available
|
||||
(they're useless anyway).
|
||||
|
||||
Bug link: https://bugs.freedesktop.org/show_bug.cgi?id=107044
|
||||
---
|
||||
src/modules/module-switch-on-port-available.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/src/modules/module-switch-on-port-available.c b/src/modules/module-switch-on-port-available.c
|
||||
index 8fd3c9e5f..321db361f 100644
|
||||
--- a/src/modules/module-switch-on-port-available.c
|
||||
+++ b/src/modules/module-switch-on-port-available.c
|
||||
@@ -281,6 +281,14 @@ static pa_hook_result_t port_available_hook_callback(pa_core *c, pa_device_port
|
||||
return PA_HOOK_OK;
|
||||
}
|
||||
|
||||
+ /* Our profile switching logic caused trouble with bluetooth headsets (see
|
||||
+ * https://bugs.freedesktop.org/show_bug.cgi?id=107044) and
|
||||
+ * module-bluetooth-policy takes care of automatic profile switching
|
||||
+ * anyway, so we ignore bluetooth cards in
|
||||
+ * module-switch-on-port-available. */
|
||||
+ if (pa_safe_streq(pa_proplist_gets(port->card->proplist, PA_PROP_DEVICE_BUS), "bluetooth"))
|
||||
+ return PA_HOOK_OK;
|
||||
+
|
||||
switch (port->available) {
|
||||
case PA_AVAILABLE_YES:
|
||||
switch_to_port(port);
|
||||
Loading…
Reference in New Issue
Block a user