<div dir="ltr"><span style="font-size:12.8000001907349px">And my </span><a href="http://default.pa/" target="_blank" style="font-size:12.8000001907349px">default.pa</a><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px"><div>#!/usr/bin/pulseaudio -nF</div><div>#</div><div># This file is part of PulseAudio.</div><div>#</div><div># PulseAudio is free software; you can redistribute it and/or modify it</div><div># under the terms of the GNU Lesser General Public License as published by</div><div># the Free Software Foundation; either version 2 of the License, or</div><div># (at your option) any later version.</div><div>#</div><div># PulseAudio is distributed in the hope that it will be useful, but</div><div># WITHOUT ANY WARRANTY; without even the implied warranty of</div><div># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</div><div># General Public License for more details.</div><div>#</div><div># You should have received a copy of the GNU Lesser General Public License</div><div># along with PulseAudio; if not, write to the Free Software Foundation,</div><div># Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</div><div><br></div><div># This startup script is used only if PulseAudio is started per-user</div><div># (i.e. not in system mode)</div><div><br></div><div>.nofail</div><div><br></div><div>### Load something into the sample cache</div><div>#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav</div><div>#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav</div><div>#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav</div><div>#load-sample-lazy pulse-access /usr/share/sounds/generic.wav</div><div><br></div><div>.fail</div><div><br></div><div>### Automatically restore the volume of streams and devices</div><div>load-module module-device-restore</div><div>load-module module-stream-restore</div><div>load-module module-card-restore</div><div><br></div><div>### Automatically augment property information from .desktop files</div><div>### stored in /usr/share/application</div><div>load-module module-augment-properties</div><div><br></div><div>### Load audio drivers statically</div><div>### (it's probably better to not load these drivers manually, but instead</div><div>### use module-udev-detect -- see below -- for doing this automatically)</div><div>load-module module-alsa-sink</div><div>#load-module module-alsa-source device=hw:1,0</div><div>#load-module module-oss device="/dev/dsp" sink_name=output source_name=input</div><div>#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input</div><div>#load-module module-null-sink</div><div>#load-module module-pipe-sink</div><div>#load-module module-alsa-card</div><div><br></div><div>### Automatically load driver modules depending on the hardware available</div><div>.ifexists module-udev-detect.so</div><div>load-module module-udev-detect</div><div>.else</div><div>### Use the static hardware detection module (for systems that lack udev/hal support)</div><div>load-module module-detect</div><div>.endif</div><div><br></div><div>### Automatically connect sink and source if JACK server is present</div><div>.ifexists module-jackdbus-detect.so</div><div>.nofail</div><div>load-module module-jackdbus-detect</div><div>.fail</div><div>.endif</div><div><br></div><div>### Automatically load driver modules for Bluetooth hardware</div><div>.ifexists module-bluetooth-discover.so</div><div>load-module module-bluetooth-discover</div><div>.endif</div><div><br></div><div>### Load several protocols</div><div>.ifexists module-esound-protocol-unix.so</div><div>load-module module-esound-protocol-unix</div><div>.endif</div><div>load-module module-native-protocol-unix</div><div><br></div><div>### Network access (may be configured with paprefs, so leave this commented</div><div>### here if you plan to use paprefs)</div><div>#load-module module-esound-protocol-tcp</div><div>#load-module module-native-protocol-tcp</div><div>#load-module module-zeroconf-publish</div><div><br></div><div>### Load the RTP receiver module (also configured via paprefs, see above)</div><div>#load-module module-rtp-recv</div><div><br></div><div>### Load the RTP sender module (also configured via paprefs, see above)</div><div>#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"</div><div>#load-module module-rtp-send source=rtp.monitor</div><div><br></div><div>### Load additional modules from GConf settings. This can be configured with the paprefs tool.</div><div>### Please keep in mind that the modules configured by paprefs might conflict with manually</div><div>### loaded modules.</div><div>.ifexists module-gconf.so</div><div>.nofail</div><div>load-module module-gconf</div><div>.fail</div><div>.endif</div><div><br></div><div>### Automatically restore the default sink/source when changed by the user</div><div>### during runtime</div><div>### NOTE: This should be loaded as early as possible so that subsequent modules</div><div>### that look up the default sink/source get the right value</div><div>load-module module-default-device-restore</div><div><br></div><div>### Automatically move streams to the default sink if the sink they are</div><div>### connected to dies, similar for sources</div><div>load-module module-rescue-streams</div><div><br></div><div>### Make sure we always have a sink around, even if it is a null sink.</div><div>load-module module-always-sink</div><div><br></div><div>### Honour intended role device property</div><div>load-module module-intended-roles</div><div><br></div><div>### Automatically suspend sinks/sources that become idle for too long</div><div>load-module module-suspend-on-idle</div><div><br></div><div>### If autoexit on idle is enabled we want to make sure we only quit</div><div>### when no local session needs us anymore.</div><div>.ifexists module-console-kit.so</div><div>load-module module-console-kit</div><div>.endif</div><div>.ifexists module-systemd-login.so</div><div>load-module module-systemd-login</div><div>.endif</div><div><br></div><div>### Enable positioned event sounds</div><div>load-module module-position-event-sounds</div><div><br></div><div>### Cork music/video streams when a phone stream is active</div><div>load-module module-role-cork</div><div><br></div><div>### Modules to allow autoloading of filters (such as echo cancellation)</div><div>### on demand. module-filter-heuristics tries to determine what filters</div><div>### make sense, and module-filter-apply does the heavy-lifting of</div><div>### loading modules and rerouting streams.</div><div>load-module module-filter-heuristics</div><div>load-module module-filter-apply</div><div><br></div><div>### Load DBus protocol</div><div>.ifexists module-dbus-protocol.so</div><div>load-module module-dbus-protocol</div><div>.endif</div><div><br></div><div># X11 modules should not be started from <a href="http://default.pa/" target="_blank">default.pa</a> so that one daemon</div><div># can be shared by multiple sessions.</div><div><br></div><div>### Load X11 bell module</div><div>#load-module module-x11-bell sample=bell-windowing-system</div><div><br></div><div>### Register ourselves in the X11 session manager</div><div>#load-module module-x11-xsmp</div><div><br></div><div>### Publish connection data in the X11 root window</div><div>#.ifexists module-x11-publish.so</div><div>#.nofail</div><div>#load-module module-x11-publish</div><div>#.fail</div><div>#.endif</div><div><br></div><div>load-module module-switch-on-port-available</div><div><br></div><div>load-module module-rtp-recv</div><div><br></div><div>### Make some devices default</div><div>set-default-sink alsa_output.default</div><div>#set-default-source RTP Stream (PulseAudio RTP Stream on linuxbox)</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Mar 21, 2015 at 1:06 AM, Raymond Yau <span dir="ltr"><<a href="mailto:superquad.vortex2@gmail.com" target="_blank">superquad.vortex2@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><p></p>
<p>><br>
> Working with a Raspberry Pi B+ with Hifiberry DAC+ on a fresh Raspbian install.<br>
><br>
> I can't seem to get Pulseaudio to use the Hifiberry to play an incoming stream. When I run pulseaudio -v, among other things, I see the following:<br>
><br>
> CODE: SELECT ALL<br>
> SNDRV_PCM_IOCTL_START failed (-77)<br></p>
</span><p>-77 is EBADFD </p>
<p>This mean PCM stream is already running but pulsesudio still call snd_pcm_start ?</p>
<p>Need verbose pulseaudio log</p>
<p>pulseaudio -vvvv</p>
<p>Pulseaudio module-alsa-sink should not use "default" device , seem you have changed <a href="http://default.pa" target="_blank">default.pa</a><br><br></p><div class="HOEnZb"><div class="h5">
<p> argument: "").<br>
> I: [pulseaudio] alsa-sink.c: Successfully opened device default.<br>
> I: [pulseaudio] alsa-sink.c: Device doesn't support mmap(), falling back to UNIX read/write mode.<br>
> I: [pulseaudio] alsa-sink.c: Cannot enable timer-based scheduling, falling back to sound IRQ scheduling.<br>
> I: [pulseaudio] sink.c: Created sink 0 "alsa_output.default" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right<br>
> I: [pulseaudio] sink.c:     alsa.resolution_bits = "16"<br>
> I: [pulseaudio] sink.c:     device.api = "alsa"<br>
> I: [pulseaudio] sink.c:     device.class = "sound"<br>
> I: [pulseaudio] sink.c:     alsa.class = "generic"<br>
> I: [pulseaudio] sink.c:     alsa.subclass = "generic-mix"<br>
> I: [pulseaudio] sink.c:     <a href="http://alsa.name" target="_blank">alsa.name</a> = ""<br>
> I: [pulseaudio] sink.c:     <a href="http://alsa.id" target="_blank">alsa.id</a> = "HiFiBerry DAC+ HiFi pcm512x-hifi-0"<br>
> I: [pulseaudio] sink.c:     alsa.subdevice = "0"<br>
> I: [pulseaudio] sink.c:     alsa.subdevice_name = "subdevice #0"<br>
> I: [pulseaudio] sink.c:     alsa.device = "0"<br>
> I: [pulseaudio] sink.c:     alsa.card = "0"<br>
> I: [pulseaudio] sink.c:     alsa.card_name = "snd_rpi_hifiberry_dacplus"<br>
> I: [pulseaudio] sink.c:     alsa.long_card_name = "snd_rpi_hifiberry_dacplus"<br>
> I: [pulseaudio] sink.c:     alsa.driver_name = "snd_soc_hifiberry_dacplus"<br>
> I: [pulseaudio] sink.c:     device.bus_path = "platform-sound"<br>
> I: [pulseaudio] sink.c:     sysfs.path = "/devices/sound/sound/card0"<br>
> I: [pulseaudio] sink.c:     device.string = "default"<br>
> I: [pulseaudio] sink.c:     device.buffering.buffer_size = "17632"<br>
> I: [pulseaudio] sink.c:     device.buffering.fragment_size = "4408"<br>
> I: [pulseaudio] sink.c:     device.access_mode = "serial"<br>
> I: [pulseaudio] sink.c:     device.description = "snd_rpi_hifiberry_dacplus"<br>
> I: [pulseaudio] sink.c:     device.icon_name = "audio-card"<br>
> I: [pulseaudio] source.c: Created source 0 "alsa_output.default.monitor" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right<br>
> I: [pulseaudio] source.c:     device.description = "Monitor of snd_rpi_hifiberry_dacplus"<br>
> I: [pulseaudio] source.c:     device.class = "monitor"<br>
> I: [pulseaudio] source.c:     device.icon_name = "audio-input-microphone"<br>
> I: [pulseaudio] alsa-sink.c: Using 4.0 fragments of size 4408 bytes (24.99ms), buffer size is 17632 bytes (99.95ms)<br>
> I: [alsa-sink] core-util.c: Successfully enabled SCHED_RR scheduling for thread, with priority 5.<br>
> I: [alsa-sink] alsa-sink.c: Starting playback.<br>
> I: [alsa-sink] (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_START failed (-77)<br>
> I: [pulseaudio] module.c: Loaded "module-alsa-sink" (index: #4; argument: "").<br>
> I: [pulseaudio] module-udev-detect.c: Found 1 cards.<br>
> I: [pulseaudio] module.c: Loaded "module-udev-detect" (index: #5; argument: "").<br>
> I: [pulseaudio] module.c: Loaded "module-native-protocol-unix" (index: #6; argument: "").<br>
> I: [pulseaudio] module-default-device-restore.c: Restored default sink 'alsa_output.default'.<br>
> I: [pulseaudio] module-default-device-restore.c: Restored default source 'alsa_output.default.monitor'.<br>
> I: [pulseaudio] module.c: Loaded "module-default-device-restore" (index: #7; argument: "").<br>
> I: [pulseaudio] module.c: Loaded "module-rescue-streams" (index: #8; argument: "").<br>
> I: [pulseaudio] module.c: Loaded "module-always-sink" (index: #9; argument: "").<br>
> I: [pulseaudio] module.c: Loaded "module-intended-roles" (index: #10; argument: "").<br>
> I: [pulseaudio] module.c: Loaded "module-suspend-on-idle" (index: #11; argument: "").<br>
> I: [pulseaudio] module.c: Loaded "module-console-kit" (index: #12; argument: "").<br>
> I: [pulseaudio] module.c: Loaded "module-systemd-login" (index: #13; argument: "").<br>
> I: [pulseaudio] module.c: Loaded "module-position-event-sounds" (index: #14; argument: "").<br>
> I: [pulseaudio] module.c: Loaded "module-role-cork" (index: #15; argument: "").<br>
> I: [pulseaudio] module.c: Loaded "module-filter-heuristics" (index: #16; argument: "").<br>
> I: [pulseaudio] module.c: Loaded "module-filter-apply" (index: #17; argument: "").<br>
> I: [pulseaudio] module.c: Loaded "module-dbus-protocol" (index: #18; argument: "").<br>
> I: [pulseaudio] module.c: Loaded "module-switch-on-port-available" (index: #19; argument: "").<br>
> I: [pulseaudio] module.c: Loaded "module-rtp-recv" (index: #20; argument: "").<br>
> W: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11<br>
> W: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11<br>
> I: [pulseaudio] main.c: Daemon startup complete.<br>
> I: [pulseaudio] resampler.c: Using resampler 'speex-fixed-3'<br>
> I: [pulseaudio] resampler.c: Using s16le as working format.<br>
> I: [pulseaudio] resampler.c: Choosing speex quality setting 3.<br>
> I: [pulseaudio] sink-input.c: Created input 0 "RTP Stream (PulseAudio RTP Stream on linuxbox)" on alsa_output.default with sample spec s16be 2ch 48000Hz and channel map front-left,front-right<br>
> I: [pulseaudio] sink-input.c:     media.role = "stream"<br>
> I: [pulseaudio] sink-input.c:     <a href="http://media.name" target="_blank">media.name</a> = "RTP Stream (PulseAudio RTP Stream on linuxbox)"<br>
> I: [pulseaudio] sink-input.c:     rtp.session = "PulseAudio RTP Stream on linuxbox"<br>
> I: [pulseaudio] sink-input.c:     rtp.origin = "MYNAME 3635426253 0 IN IP4 SERVERIP"<br>
> I: [pulseaudio] sink-input.c:     rtp.payload = "127"<br>
> I: [pulseaudio] sink-input.c:     <a href="http://module-stream-restore.id" target="_blank">module-stream-restore.id</a> = "sink-input-by-media-role:stream"<br>
> I: [pulseaudio] module-rtp-recv.c: New session 'PulseAudio RTP Stream on linuxbox'<br>
><br>
></p>
</div></div><br>_______________________________________________<br>
pulseaudio-discuss mailing list<br>
<a href="mailto:pulseaudio-discuss@lists.freedesktop.org">pulseaudio-discuss@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss" target="_blank">http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss</a><br>
<br></blockquote></div><br></div>