[meta-freescale] [meta-fsl-arm][PATCH 2/3] pulseaudio: Fix mutext issue when do pause in gstreamer

Jun Zhu R01007 at freescale.com
Tue Jul 29 00:04:14 PDT 2014


Pulseaudio crashes when other program using sound:
Assertion 'pthread_mutex_unlock(&m->mutex) == 0' failed
at pulsecore/mutex-posix.c:106, function pa_mutex_unlock().

Disable PTHREAD priority inheritance feature is the easiest
workaround solutions for this issue.

Signed-off-by: Jun Zhu <R01007 at freescale.com>
---
 ...dio-mutex-issue-when-do-pause-in-gstreame.patch |   34 ++++++++++++++++++++
 .../pulseaudio/pulseaudio_5.0.bbappend             |    1 +
 2 files changed, 35 insertions(+)
 create mode 100644 recipes-multimedia/pulseaudio/pulseaudio/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch

diff --git a/recipes-multimedia/pulseaudio/pulseaudio/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch b/recipes-multimedia/pulseaudio/pulseaudio/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch
new file mode 100644
index 0000000..67bc46f
--- /dev/null
+++ b/recipes-multimedia/pulseaudio/pulseaudio/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch
@@ -0,0 +1,34 @@
+From c21e24f5c53e81fc715905c54a6c82b69e397e63 Mon Sep 17 00:00:00 2001
+From: "shengjiu.wang" <b02247 at 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 at 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
+
diff --git a/recipes-multimedia/pulseaudio/pulseaudio_5.0.bbappend b/recipes-multimedia/pulseaudio/pulseaudio_5.0.bbappend
index 993c340..4ea4921 100644
--- a/recipes-multimedia/pulseaudio/pulseaudio_5.0.bbappend
+++ b/recipes-multimedia/pulseaudio/pulseaudio_5.0.bbappend
@@ -5,6 +5,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 
 SRC_URI_append = " file://daemon.conf \
         file://default.pa \
+        file://0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch \
 "
 
 do_install_append() {
-- 
1.7.9.5



More information about the meta-freescale mailing list