From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by yocto-www.yoctoproject.org (Postfix, from userid 118) id AA89AE00A01; Wed, 5 Aug 2015 11:46:07 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on yocto-www.yoctoproject.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_PASS autolearn=ham version=3.3.1 X-Spam-HAM-Report: * -0.0 SPF_HELO_PASS SPF: HELO matches SPF record * -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] Received: from ptmx.org (ptmx.org [178.63.28.110]) by yocto-www.yoctoproject.org (Postfix) with ESMTP id BAEBFE009E4 for ; Wed, 5 Aug 2015 11:46:04 -0700 (PDT) Received: from [192.168.178.14] (chello062178118086.5.14.vie.surfer.at [62.178.118.86]) by ptmx.org (Postfix) with ESMTPSA id 0964E37451 for ; Wed, 5 Aug 2015 20:45:47 +0200 (CEST) Message-ID: <55C259EA.1000207@pseudoterminal.org> Date: Wed, 05 Aug 2015 20:46:02 +0200 From: Carlos Rafael Giani User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: meta-freescale@yoctoproject.org References: <1438283907-17641-1-git-send-email-b54851@freescale.com> <1438283907-17641-2-git-send-email-b54851@freescale.com> In-Reply-To: <1438283907-17641-2-git-send-email-b54851@freescale.com> Subject: Re: [meta-fsl-arm][PATCH v5] pulseaudio: Add PulseAudio configuration X-BeenThere: meta-freescale@yoctoproject.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Usage and development list for the meta-fsl-* layers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Aug 2015 18:46:07 -0000 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Regarding the exit-idle-time change, am I right to assume that this is a workaround for the problem that otherwise, pulseaudio will quit after an application stops using it? One link about this: https://bbs.archlinux.org/viewtopic.php?id=92851 Am 2015-07-30 um 21:18 schrieb Yuqing Zhu: > Set ffmpeg as resample method > > Set exit idle time as -1 to force it not to exit > > Signed-off-by: Yuqing Zhu > --- > .../pulseaudio/pulseaudio/daemon.conf | 87 +++++++++++ > .../pulseaudio/pulseaudio/default.pa | 170 +++++++++++++++++++++ > .../pulseaudio/pulseaudio_%.bbappend | 20 +++ > 3 files changed, 277 insertions(+) > create mode 100644 recipes-multimedia/pulseaudio/pulseaudio/daemon.conf > create mode 100644 recipes-multimedia/pulseaudio/pulseaudio/default.pa > > diff --git a/recipes-multimedia/pulseaudio/pulseaudio/daemon.conf b/recipes-multimedia/pulseaudio/pulseaudio/daemon.conf > new file mode 100644 > index 0000000..54854eb > --- /dev/null > +++ b/recipes-multimedia/pulseaudio/pulseaudio/daemon.conf > @@ -0,0 +1,87 @@ > +# This file is part of PulseAudio. > +# > +# PulseAudio is free software; you can redistribute it and/or modify > +# it under the terms of the GNU Lesser General Public License as published by > +# the Free Software Foundation; either version 2 of the License, or > +# (at your option) any later version. > +# > +# PulseAudio is distributed in the hope that it will be useful, but > +# WITHOUT ANY WARRANTY; without even the implied warranty of > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > +# General Public License for more details. > +# > +# You should have received a copy of the GNU Lesser General Public License > +# along with PulseAudio; if not, write to the Free Software > +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 > +# USA. > + > +## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for > +## more information. Default values are commented out. Use either ; or # for > +## commenting. > + > +; daemonize = no > +; fail = yes > +; allow-module-loading = yes > +; allow-exit = yes > +; use-pid-file = yes > +; system-instance = no > +; local-server-type = user > +; enable-shm = yes > +; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB > +; lock-memory = no > +; cpu-limit = no > + > +; high-priority = yes > +; nice-level = -11 > + > +; realtime-scheduling = yes > +; realtime-priority = 5 > + > +exit-idle-time = -1 > +; scache-idle-time = 20 > + > +; dl-search-path = (depends on architecture) > + > +; load-default-script-file = yes > +; default-script-file = /etc/pulse/default.pa > + > +; log-target = auto > +; log-level = notice > +; log-meta = no > +; log-time = no > +; log-backtrace = 0 > + > +resample-method = ffmpeg > +; enable-remixing = yes > +; enable-lfe-remixing = no > + > +flat-volumes = no > + > +; rlimit-fsize = -1 > +; rlimit-data = -1 > +; rlimit-stack = -1 > +; rlimit-core = -1 > +; rlimit-as = -1 > +; rlimit-rss = -1 > +; rlimit-nproc = -1 > +; rlimit-nofile = 256 > +; rlimit-memlock = -1 > +; rlimit-locks = -1 > +; rlimit-sigpending = -1 > +; rlimit-msgqueue = -1 > +; rlimit-nice = 31 > +; rlimit-rtprio = 9 > +; rlimit-rttime = 1000000 > + > +; default-sample-format = s16le > +; default-sample-rate = 44100 > +; alternate-sample-rate = 48000 > +; default-sample-channels = 2 > +; default-channel-map = front-left,front-right > + > +; default-fragments = 4 > +; default-fragment-size-msec = 25 > + > +; enable-deferred-volume = yes > +; deferred-volume-safety-margin-usec = 8000 > +; deferred-volume-extra-delay-usec = 0 > diff --git a/recipes-multimedia/pulseaudio/pulseaudio/default.pa b/recipes-multimedia/pulseaudio/pulseaudio/default.pa > new file mode 100644 > index 0000000..83a6ba8 > --- /dev/null > +++ b/recipes-multimedia/pulseaudio/pulseaudio/default.pa > @@ -0,0 +1,170 @@ > +#!/usr/bin/pulseaudio -nF > +# > +# This file is part of PulseAudio. > +# > +# PulseAudio is free software; you can redistribute it and/or modify it > +# under the terms of the GNU Lesser General Public License as published by > +# the Free Software Foundation; either version 2 of the License, or > +# (at your option) any later version. > +# > +# PulseAudio is distributed in the hope that it will be useful, but > +# WITHOUT ANY WARRANTY; without even the implied warranty of > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > +# General Public License for more details. > +# > +# You should have received a copy of the GNU Lesser General Public License > +# along with PulseAudio; if not, write to the Free Software Foundation, > +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. > + > +# This startup script is used only if PulseAudio is started per-user > +# (i.e. not in system mode) > + > +.nofail > + > +### Load something into the sample cache > +#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav > +#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav > +#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav > +#load-sample-lazy pulse-access /usr/share/sounds/generic.wav > + > +.fail > + > +### Automatically restore the volume of streams and devices > +load-module module-device-restore > +load-module module-stream-restore > +load-module module-card-restore > + > +### Automatically augment property information from .desktop files > +### stored in /usr/share/application > +load-module module-augment-properties > + > +### Should be after module-*-restore but before module-*-detect > +load-module module-switch-on-port-available > + > +### Load audio drivers statically > +### (it's probably better to not load these drivers manually, but instead > +### use module-udev-detect -- see below -- for doing this automatically) > +#load-module module-alsa-sink > +#load-module module-alsa-source device=hw:1,0 > +#load-module module-oss device="/dev/dsp" sink_name=output source_name=input > +#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input > +#load-module module-null-sink > +#load-module module-pipe-sink > + > +### Automatically load driver modules depending on the hardware available > +.ifexists module-udev-detect.so > +load-module module-udev-detect tsched=0 > +.else > +### Use the static hardware detection module (for systems that lack udev support) > +load-module module-detect > +.endif > + > +### Automatically connect sink and source if JACK server is present > +.ifexists module-jackdbus-detect.so > +.nofail > +load-module module-jackdbus-detect channels=2 > +.fail > +.endif > + > +### Automatically load driver modules for Bluetooth hardware > +.ifexists module-bluetooth-policy.so > +load-module module-bluetooth-policy > +.endif > + > +.ifexists module-bluetooth-discover.so > +load-module module-bluetooth-discover > +.endif > + > +### Load several protocols > +.ifexists module-esound-protocol-unix.so > +load-module module-esound-protocol-unix > +.endif > +load-module module-native-protocol-unix > + > +### Network access (may be configured with paprefs, so leave this commented > +### here if you plan to use paprefs) > +#load-module module-esound-protocol-tcp > +#load-module module-native-protocol-tcp > +#load-module module-zeroconf-publish > + > +### Load the RTP receiver module (also configured via paprefs, see above) > +#load-module module-rtp-recv > + > +### Load the RTP sender module (also configured via paprefs, see above) > +#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" > +#load-module module-rtp-send source=rtp.monitor > + > +### Load additional modules from GConf settings. This can be configured with the paprefs tool. > +### Please keep in mind that the modules configured by paprefs might conflict with manually > +### loaded modules. > +.ifexists module-gconf.so > +.nofail > +load-module module-gconf > +.fail > +.endif > + > +### Automatically restore the default sink/source when changed by the user > +### during runtime > +### NOTE: This should be loaded as early as possible so that subsequent modules > +### that look up the default sink/source get the right value > +load-module module-default-device-restore > + > +### Automatically move streams to the default sink if the sink they are > +### connected to dies, similar for sources > +load-module module-rescue-streams > + > +### Make sure we always have a sink around, even if it is a null sink. > +load-module module-always-sink > + > +### Honour intended role device property > +load-module module-intended-roles > + > +### Automatically suspend sinks/sources that become idle for too long > +load-module module-suspend-on-idle > + > +### If autoexit on idle is enabled we want to make sure we only quit > +### when no local session needs us anymore. > +.ifexists module-console-kit.so > +load-module module-console-kit > +.endif > +.ifexists module-systemd-login.so > +load-module module-systemd-login > +.endif > + > +### Enable positioned event sounds > +load-module module-position-event-sounds > + > +### Cork music/video streams when a phone stream is active > +load-module module-role-cork > + > +### Modules to allow autoloading of filters (such as echo cancellation) > +### on demand. module-filter-heuristics tries to determine what filters > +### make sense, and module-filter-apply does the heavy-lifting of > +### loading modules and rerouting streams. > +load-module module-filter-heuristics > +load-module module-filter-apply > + > +### Load DBus protocol > +.ifexists module-dbus-protocol.so > +load-module module-dbus-protocol > +.endif > + > +# X11 modules should not be started from default.pa so that one daemon > +# can be shared by multiple sessions. > + > +### Load X11 bell module > +#load-module module-x11-bell sample=bell-windowing-system > + > +### Register ourselves in the X11 session manager > +#load-module module-x11-xsmp > + > +### Publish connection data in the X11 root window > +#.ifexists module-x11-publish.so > +#.nofail > +#load-module module-x11-publish > +#.fail > +#.endif > + > +### Make some devices default > +#set-default-sink output > +#set-default-source input > diff --git a/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend > index b9acb36..95b955d 100644 > --- a/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend > +++ b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend > @@ -1,4 +1,24 @@ > > CACHED_CONFIGUREVARS_append_mx6 = " ax_cv_PTHREAD_PRIO_INHERIT=no" > > +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" > +IMX_PATCHES = " file://daemon.conf \ > + file://default.pa \ > +" > +SRC_URI_append_mx6 = "${IMX_PATCHES}" > +SRC_URI_append_mx7 = "${IMX_PATCHES}" > + > +do_install_append() { > + install -m 0644 ${WORKDIR}/daemon.conf ${D}${sysconfdir}/pulse/daemon.conf > + install -m 0644 ${WORKDIR}/default.pa ${D}${sysconfdir}/pulse/default.pa > + > + #Fix me: Remove the kde desktop, because there are two destop in default > + # (pulseaudio-kde.destop, pulseaudio.destop), then the pulseaudio server > + # will be started twice, pulseaudio will have issue to switch to default input/output. > + if [ -e ${D}${sysconfdir}/xdg/autostart/pulseaudio-kde.desktop ] > + then > + rm ${D}${sysconfdir}/xdg/autostart/pulseaudio-kde.desktop > + fi > +} > + > PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}"