Patchwork pulseaudio: Run as system-wide instance instead of per-user

login
register
mail settings
Submitter Joel A Fernandes
Date July 7, 2011, 5:29 a.m.
Message ID <1310016563-8871-1-git-send-email-agnel.joel@gmail.com>
Download mbox | patch
Permalink /patch/7113/
State New, archived
Headers show

Comments

Joel A Fernandes - July 7, 2011, 5:29 a.m.
* Pulseaudio running as per-user is opening audio devices and blocking everyone else from getting access
  to the device. The problem is it doesn't even seem to be allowing applications to connect to it, this
  patch starts it up in system mode instead which is tested and known to work

Signed-off-by: Joel A Fernandes <agnel.joel@gmail.com>
---
 .../pulseaudio-system-mode-startup.sh              |    4 ++++
 recipes/pulseaudio/pulseaudio_0.9.22.bb            |   15 +++++++++++++++
 2 files changed, 19 insertions(+), 0 deletions(-)
 create mode 100755 recipes/pulseaudio/pulseaudio-0.9.21/pulseaudio-system-mode-startup.sh

Patch

diff --git a/recipes/pulseaudio/pulseaudio-0.9.21/pulseaudio-system-mode-startup.sh b/recipes/pulseaudio/pulseaudio-0.9.21/pulseaudio-system-mode-startup.sh
new file mode 100755
index 0000000..528ceb9
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-0.9.21/pulseaudio-system-mode-startup.sh
@@ -0,0 +1,4 @@ 
+#!/bin/sh
+
+echo "Starting Pulseaudio in system mode.."
+pulseaudio --log-target=syslog --system
diff --git a/recipes/pulseaudio/pulseaudio_0.9.22.bb b/recipes/pulseaudio/pulseaudio_0.9.22.bb
index 2368829..6d3adc4 100644
--- a/recipes/pulseaudio/pulseaudio_0.9.22.bb
+++ b/recipes/pulseaudio/pulseaudio_0.9.22.bb
@@ -12,6 +12,10 @@  FILESPATHPKG =. "pulseaudio-0.9.21:"
 
 inherit gettext
 
+inherit update-rc.d
+INITSCRIPT_NAME = "pulseaudio.sh"
+INITSCRIPT_PARAMS = "start 99 2 3 4 5 ."
+
 #SRC_URI += "\
 #  file://buildfix.patch \
 #  file://autoconf_version.patch \
@@ -27,6 +31,7 @@  SRC_URI += "\
   file://armv4+v5asm.patch \
   file://fixbluezbuild.patch \
   file://ubacktrace.patch \
+  file://pulseaudio-system-mode-startup.sh \
 "
 
 #do_compile_prepend() {
@@ -37,3 +42,13 @@  SRC_URI += "\
 
 SRC_URI[md5sum] = "ca85ab470669b05e100861654cf5eb3c"
 SRC_URI[sha256sum] = "c6019324395117a258c048a6db5e9734551cc2c61dc35b46403ff00d64be55f0"
+
+do_install_append() {
+  # init script to start pulseaudio system-wide
+  install -d ${D}/${sysconfdir}/init.d/
+  install -m 0755 ${WORKDIR}/pulseaudio-system-mode-startup.sh ${D}/${sysconfdir}/init.d/pulseaudio.sh
+
+  # Disable startup of pulseaudio as a per-user instance
+  chmod -x ${D}/${bindir}/start-pulseaudio-x11
+}
+