[packages/pulseaudio] fix crash when trying to use ldac or aptx codec; rel 2

atler atler at pld-linux.org
Fri Jun 17 16:07:03 CEST 2022


commit e805a8949086f9280332e6dbc69eb2a597ee1028
Author: Jan Palus <atler at pld-linux.org>
Date:   Fri Jun 17 16:05:46 2022 +0200

    fix crash when trying to use ldac or aptx codec; rel 2

 gst-ldac-aptx-crash.patch | 39 +++++++++++++++++++++++++++++++++++++++
 pulseaudio.spec           |  4 +++-
 2 files changed, 42 insertions(+), 1 deletion(-)
---
diff --git a/pulseaudio.spec b/pulseaudio.spec
index 9eabfc6..989a4c2 100644
--- a/pulseaudio.spec
+++ b/pulseaudio.spec
@@ -15,7 +15,7 @@ Summary:	Modular sound server
 Summary(pl.UTF-8):	Modularny serwer dźwięku
 Name:		pulseaudio
 Version:	16.0
-Release:	1
+Release:	2
 License:	GPL v2+ (server and libpulsecore), LGPL v2+ (libpulse)
 Group:		Libraries
 Source0:	https://freedesktop.org/software/pulseaudio/releases/%{name}-%{version}.tar.xz
@@ -25,6 +25,7 @@ Source2:	%{name}.sysconfig
 Source3:	%{name}.tmpfiles
 Patch0:		%{name}-pa-machine-id.patch
 Patch1:		mate-desktop.patch
+Patch2:		gst-ldac-aptx-crash.patch
 URL:		http://pulseaudio.org/
 BuildRequires:	alsa-lib-devel >= 1.0.24
 BuildRequires:	avahi-devel >= 0.6.0
@@ -375,6 +376,7 @@ Dokumentacja API PulseAudio.
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %{__sed} -i -e '1s,#!/usr/bin/env python3,#!%{__python3},' src/utils/qpaeq
 
diff --git a/gst-ldac-aptx-crash.patch b/gst-ldac-aptx-crash.patch
new file mode 100644
index 0000000..585e4f7
--- /dev/null
+++ b/gst-ldac-aptx-crash.patch
@@ -0,0 +1,39 @@
+From cfbbf27b8394fdc97992528caae12b412b22cf6e Mon Sep 17 00:00:00 2001
+From: Jan Palus <jpalus at 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.
+---
+ 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:
+-- 
+2.36.1
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/pulseaudio.git/commitdiff/e805a8949086f9280332e6dbc69eb2a597ee1028



More information about the pld-cvs-commit mailing list