zeus migration: pulseaudio: update recipe to v12.2

https://jira.digi.com/browse/DEL-7013

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit is contained in:
Arturo Buzarra 2020-04-07 11:07:24 +02:00
parent af7706b1e5
commit 1c1b8943b3
3 changed files with 134 additions and 0 deletions

View File

@ -0,0 +1,34 @@
From c21e24f5c53e81fc715905c54a6c82b69e397e63 Mon Sep 17 00:00:00 2001
From: "shengjiu.wang" <b02247@freescale.com>
Date: Thu, 3 Apr 2014 14:22:02 +0800
Subject: [PATCH] Fix pulseaudio mutex issue when do pause in gstreamer
The error log is "Assertion 'pthread_mutex_unlock(&m->mutex) == 0'
failed at pulsecore/mutex-posix.c:106, function pa_mutex_unlock(). Aborting"
This fix is a workaround base on the solution from this link "
https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/932096"
Upstream status: N/A
- It is i.MX specific
Signed-off-by: shengjiu.wang <b02247@freescale.com>
---
src/pulsecore/mutex-posix.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/pulsecore/mutex-posix.c b/src/pulsecore/mutex-posix.c
index 36c2787..d592501 100644
--- a/src/pulsecore/mutex-posix.c
+++ b/src/pulsecore/mutex-posix.c
@@ -30,6 +30,7 @@
#include <pulsecore/macro.h>
#include "mutex.h"
+#undef HAVE_PTHREAD_PRIO_INHERIT
struct pa_mutex {
pthread_mutex_t mutex;
--
1.7.9.5

View File

@ -0,0 +1,88 @@
From 3455d62e4906174e83bf0ea9af8b584808d3e779 Mon Sep 17 00:00:00 2001
From: Tanu Kaskinen <tanuk@iki.fi>
Date: Fri, 1 Jun 2018 11:24:01 +0300
Subject: [PATCH] alsa-mixer: make the mono mapping a fallback only
If a sound card doesn't have the "front" device defined for it, we have
to use the "hw" device for stereo. Not so long ago, the analog-stereo
mapping had "hw:%f" in its device-strings and everything worked great,
except that it caused trouble with the Intel HDMI LPE driver that uses
the first "hw" device for HDMI, and we were incorrectly detecting it as
an analog device. That problem was fixed in commit ea3ebd09, which
removed "hw:%f" from analog-stereo and added a new stereo fallback
mapping for "hw".
Now the problem is that if a sound card doesn't have the "front" device
defined for it, and it supports both mono and stereo, only the mono
mapping is used, because the stereo mapping is only a fallback. This
patch makes the mono mapping a fallback too, so the mono mapping is used
only if there's absolutely nothing else that works.
This can cause trouble at least in theory. Maybe someone actually wants
to use mono output on a card that supports both mono and stereo. But
that seems quite unlikely.
Upstream-Status: Backport from v13.0
---
src/modules/alsa/alsa-mixer.c | 1 +
.../alsa/mixer/profile-sets/default.conf | 18 ++++++++++--------
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
index a07c435111f2..7d50fc7b89e7 100644
--- a/src/modules/alsa/alsa-mixer.c
+++ b/src/modules/alsa/alsa-mixer.c
@@ -4060,6 +4060,7 @@ static int mapping_verify(pa_alsa_mapping *m, const pa_channel_map *bonus) {
static const struct description_map well_known_descriptions[] = {
{ "analog-mono", N_("Analog Mono") },
{ "analog-stereo", N_("Analog Stereo") },
+ { "mono-fallback", N_("Mono") },
{ "stereo-fallback", N_("Stereo") },
/* Note: Not translated to "Analog Stereo Input", because the source
* name gets "Input" appended to it automatically, so adding "Input"
diff --git a/src/modules/alsa/mixer/profile-sets/default.conf b/src/modules/alsa/mixer/profile-sets/default.conf
index f50938309e7d..34c51bc5bf0a 100644
--- a/src/modules/alsa/mixer/profile-sets/default.conf
+++ b/src/modules/alsa/mixer/profile-sets/default.conf
@@ -101,13 +101,6 @@
[General]
auto-profiles = yes
-[Mapping analog-mono]
-device-strings = hw:%f
-channel-map = mono
-paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono
-paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headset-mic
-priority = 7
-
[Mapping analog-stereo]
device-strings = front:%f
channel-map = left,right
@@ -115,7 +108,7 @@ paths-output = analog-output analog-output-lineout analog-output-speaker analog-
paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic
priority = 15
-# If everything else fails, try to use hw:0 as a stereo device.
+# If everything else fails, try to use hw:0 as a stereo device...
[Mapping stereo-fallback]
device-strings = hw:%f
fallback = yes
@@ -124,6 +117,15 @@ paths-output = analog-output analog-output-lineout analog-output-speaker analog-
paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic
priority = 1
+# ...and if even that fails, try to use hw:0 as a mono device.
+[Mapping mono-fallback]
+device-strings = hw:%f
+fallback = yes
+channel-map = mono
+paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono
+paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headset-mic
+priority = 1
+
[Mapping analog-surround-21]
device-strings = surround21:%f
channel-map = front-left,front-right,lfe
--
2.21.0

View File

@ -27,6 +27,8 @@ AUDIO_HDMI ?= ""
AUDIO_HDMI_ccimx6 = "yes" AUDIO_HDMI_ccimx6 = "yes"
SRC_URI_append = " \ SRC_URI_append = " \
file://0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch \
file://0002-alsa-mixer-make-the-mono-mapping-a-fallback-only.patch \
${@oe.utils.conditional('SOUND_CARD', 'sgtl5000', '${CFG_SGTL5000}', '', d)} \ ${@oe.utils.conditional('SOUND_CARD', 'sgtl5000', '${CFG_SGTL5000}', '', d)} \
${@oe.utils.conditional('SOUND_CARD', 'max98089', '${CFG_MAX98089}', '', d)} \ ${@oe.utils.conditional('SOUND_CARD', 'max98089', '${CFG_MAX98089}', '', d)} \
${@oe.utils.conditional('AUDIO_HDMI', 'yes', '${CFG_HDMI}', '', d)} \ ${@oe.utils.conditional('AUDIO_HDMI', 'yes', '${CFG_HDMI}', '', d)} \
@ -38,6 +40,16 @@ SRC_URI_append_ccimx6ulsbc = " \
file://0001-pulseaudio-keep-headphones-volume-in-platforms-witho.patch \ file://0001-pulseaudio-keep-headphones-volume-in-platforms-witho.patch \
" "
# This default setting should be added on all i.MX SoC,
# For now, the setting for mx6(including mx6ul & mx6sll)/mx7 has been upstreamed
SRC_URI_append_mx8 = " \
file://daemon.conf \
file://default.pa \
"
# Enable allow-autospawn-for-root as default
PACKAGECONFIG_append = " autospawn-for-root"
EXTRA_OECONF_append_ccimx6 = " --disable-memfd" EXTRA_OECONF_append_ccimx6 = " --disable-memfd"
FILES_${PN}-server_append = " ${systemd_unitdir}/* ${sysconfdir}/pulseaudio-init" FILES_${PN}-server_append = " ${systemd_unitdir}/* ${sysconfdir}/pulseaudio-init"