diff options
author | Igor V. Kovalenko <igor.v.kovalenko@gmail.com> | 2022-06-18 02:37:30 +0300 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-06-18 01:18:17 +0100 |
commit | 18059c099d4073d0708d9e40c16ebc974df86aff (patch) | |
tree | dd6b27b4ce8135ba7e5a7fe7865e453c73c302d9 /media-sound | |
parent | media-sound/pulseaudio-daemon: Fix crash after combine-sink underrun (diff) | |
download | gentoo-18059c099d4073d0708d9e40c16ebc974df86aff.tar.gz gentoo-18059c099d4073d0708d9e40c16ebc974df86aff.tar.bz2 gentoo-18059c099d4073d0708d9e40c16ebc974df86aff.zip |
media-sound/pulseaudio-daemon: Fix gstreamer bluetooth crash on 32-bit ARM
Upstream commit dd4dc5e8bce2c03631c3613dbddee1a691bdd17d
Fixes pulseaudio crash on ARM 32-bit when pulseaudio is compiled with
gstreamer and either LDAC or aptX support is available.
Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-sound')
-rw-r--r-- | media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-gstreamer-bluetooth-arm-crash.patch | 43 | ||||
-rw-r--r-- | media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r5.ebuild | 1 |
2 files changed, 44 insertions, 0 deletions
diff --git a/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-gstreamer-bluetooth-arm-crash.patch b/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-gstreamer-bluetooth-arm-crash.patch new file mode 100644 index 000000000000..a2efaf37b381 --- /dev/null +++ b/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-gstreamer-bluetooth-arm-crash.patch @@ -0,0 +1,43 @@ +https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/dd4dc5e8bce2c03631c3613dbddee1a691bdd17d + +From dd4dc5e8bce2c03631c3613dbddee1a691bdd17d Mon Sep 17 00:00:00 2001 +From: Jan Palus <jpalus@fastmail.com> +Date: Fri, 17 Jun 2022 14:36:36 +0200 +Subject: [PATCH] bluetooth/gst: Correct var type for GST_TYPE_BITMASK + +GST_TYPE_BITMASK is 64-bit bit mask while corresponding channel_mask in +pulseaudio is int therefore usually 32-bit. Switch to uint64_t instead +to match internal representation in gstreamer. + +Fixes pulseaudio crash on ARM 32-bit when pulseaudio is compiled with +gstreamer and either LDAC or aptX support is available. + +Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/723> +--- + src/modules/bluetooth/a2dp-codec-gst.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/modules/bluetooth/a2dp-codec-gst.c b/src/modules/bluetooth/a2dp-codec-gst.c +index 8ef74be9c..11839c580 100644 +--- a/src/modules/bluetooth/a2dp-codec-gst.c ++++ b/src/modules/bluetooth/a2dp-codec-gst.c +@@ -22,6 +22,7 @@ + #endif + + #include <arpa/inet.h> ++#include <stdint.h> + + #include <pulsecore/log.h> + #include <pulsecore/macro.h> +@@ -82,7 +83,7 @@ fail: + 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: +-- +GitLab + diff --git a/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r5.ebuild b/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r5.ebuild index c6b1b5a0b623..25e717a28ffa 100644 --- a/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r5.ebuild +++ b/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r5.ebuild @@ -166,6 +166,7 @@ PATCHES=( "${FILESDIR}"/pulseaudio-16.0-fix-rtp-receiver-sdp-record.patch "${FILESDIR}"/pulseaudio-16.0-optional-module-console-kit.patch "${FILESDIR}"/pulseaudio-16.0-fix-combine-sink-underrun-crash.patch + "${FILESDIR}"/pulseaudio-16.0-fix-gstreamer-bluetooth-arm-crash.patch ) src_prepare() { |