[pulseaudio-discuss] Can't get Pulseadio to playback stream on Raspbian with HifiBerry DAC+

David Martinez david at sojournmusic.net
Sat Mar 21 18:40:36 PDT 2015


And my default.pa

#!/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

### 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
#load-module module-alsa-card

### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Use the static hardware detection module (for systems that lack
udev/hal 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
.fail
.endif

### Automatically load driver modules for Bluetooth hardware
.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

load-module module-switch-on-port-available

load-module module-rtp-recv

### Make some devices default
set-default-sink alsa_output.default
#set-default-source RTP Stream (PulseAudio RTP Stream on linuxbox)

On Sat, Mar 21, 2015 at 1:06 AM, Raymond Yau <superquad.vortex2 at gmail.com>
wrote:

> >
> > Working with a Raspberry Pi B+ with Hifiberry DAC+ on a fresh Raspbian
> install.
> >
> > 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:
> >
> > CODE: SELECT ALL
> > SNDRV_PCM_IOCTL_START failed (-77)
>
> -77 is EBADFD
>
> This mean PCM stream is already running but pulsesudio still call
> snd_pcm_start ?
>
> Need verbose pulseaudio log
>
> pulseaudio -vvvv
>
> Pulseaudio module-alsa-sink should not use "default" device , seem you
> have changed default.pa
>
>  argument: "").
> > I: [pulseaudio] alsa-sink.c: Successfully opened device default.
> > I: [pulseaudio] alsa-sink.c: Device doesn't support mmap(), falling back
> to UNIX read/write mode.
> > I: [pulseaudio] alsa-sink.c: Cannot enable timer-based scheduling,
> falling back to sound IRQ scheduling.
> > I: [pulseaudio] sink.c: Created sink 0 "alsa_output.default" with sample
> spec s16le 2ch 44100Hz and channel map front-left,front-right
> > I: [pulseaudio] sink.c:     alsa.resolution_bits = "16"
> > I: [pulseaudio] sink.c:     device.api = "alsa"
> > I: [pulseaudio] sink.c:     device.class = "sound"
> > I: [pulseaudio] sink.c:     alsa.class = "generic"
> > I: [pulseaudio] sink.c:     alsa.subclass = "generic-mix"
> > I: [pulseaudio] sink.c:     alsa.name = ""
> > I: [pulseaudio] sink.c:     alsa.id = "HiFiBerry DAC+ HiFi
> pcm512x-hifi-0"
> > I: [pulseaudio] sink.c:     alsa.subdevice = "0"
> > I: [pulseaudio] sink.c:     alsa.subdevice_name = "subdevice #0"
> > I: [pulseaudio] sink.c:     alsa.device = "0"
> > I: [pulseaudio] sink.c:     alsa.card = "0"
> > I: [pulseaudio] sink.c:     alsa.card_name = "snd_rpi_hifiberry_dacplus"
> > I: [pulseaudio] sink.c:     alsa.long_card_name =
> "snd_rpi_hifiberry_dacplus"
> > I: [pulseaudio] sink.c:     alsa.driver_name =
> "snd_soc_hifiberry_dacplus"
> > I: [pulseaudio] sink.c:     device.bus_path = "platform-sound"
> > I: [pulseaudio] sink.c:     sysfs.path = "/devices/sound/sound/card0"
> > I: [pulseaudio] sink.c:     device.string = "default"
> > I: [pulseaudio] sink.c:     device.buffering.buffer_size = "17632"
> > I: [pulseaudio] sink.c:     device.buffering.fragment_size = "4408"
> > I: [pulseaudio] sink.c:     device.access_mode = "serial"
> > I: [pulseaudio] sink.c:     device.description =
> "snd_rpi_hifiberry_dacplus"
> > I: [pulseaudio] sink.c:     device.icon_name = "audio-card"
> > I: [pulseaudio] source.c: Created source 0 "alsa_output.default.monitor"
> with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
> > I: [pulseaudio] source.c:     device.description = "Monitor of
> snd_rpi_hifiberry_dacplus"
> > I: [pulseaudio] source.c:     device.class = "monitor"
> > I: [pulseaudio] source.c:     device.icon_name = "audio-input-microphone"
> > I: [pulseaudio] alsa-sink.c: Using 4.0 fragments of size 4408 bytes
> (24.99ms), buffer size is 17632 bytes (99.95ms)
> > I: [alsa-sink] core-util.c: Successfully enabled SCHED_RR scheduling for
> thread, with priority 5.
> > I: [alsa-sink] alsa-sink.c: Starting playback.
> > I: [alsa-sink] (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_START failed (-77)
> > I: [pulseaudio] module.c: Loaded "module-alsa-sink" (index: #4;
> argument: "").
> > I: [pulseaudio] module-udev-detect.c: Found 1 cards.
> > I: [pulseaudio] module.c: Loaded "module-udev-detect" (index: #5;
> argument: "").
> > I: [pulseaudio] module.c: Loaded "module-native-protocol-unix" (index:
> #6; argument: "").
> > I: [pulseaudio] module-default-device-restore.c: Restored default sink
> 'alsa_output.default'.
> > I: [pulseaudio] module-default-device-restore.c: Restored default source
> 'alsa_output.default.monitor'.
> > I: [pulseaudio] module.c: Loaded "module-default-device-restore" (index:
> #7; argument: "").
> > I: [pulseaudio] module.c: Loaded "module-rescue-streams" (index: #8;
> argument: "").
> > I: [pulseaudio] module.c: Loaded "module-always-sink" (index: #9;
> argument: "").
> > I: [pulseaudio] module.c: Loaded "module-intended-roles" (index: #10;
> argument: "").
> > I: [pulseaudio] module.c: Loaded "module-suspend-on-idle" (index: #11;
> argument: "").
> > I: [pulseaudio] module.c: Loaded "module-console-kit" (index: #12;
> argument: "").
> > I: [pulseaudio] module.c: Loaded "module-systemd-login" (index: #13;
> argument: "").
> > I: [pulseaudio] module.c: Loaded "module-position-event-sounds" (index:
> #14; argument: "").
> > I: [pulseaudio] module.c: Loaded "module-role-cork" (index: #15;
> argument: "").
> > I: [pulseaudio] module.c: Loaded "module-filter-heuristics" (index: #16;
> argument: "").
> > I: [pulseaudio] module.c: Loaded "module-filter-apply" (index: #17;
> argument: "").
> > I: [pulseaudio] module.c: Loaded "module-dbus-protocol" (index: #18;
> argument: "").
> > I: [pulseaudio] module.c: Loaded "module-switch-on-port-available"
> (index: #19; argument: "").
> > I: [pulseaudio] module.c: Loaded "module-rtp-recv" (index: #20;
> argument: "").
> > 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
> > 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
> > I: [pulseaudio] main.c: Daemon startup complete.
> > I: [pulseaudio] resampler.c: Using resampler 'speex-fixed-3'
> > I: [pulseaudio] resampler.c: Using s16le as working format.
> > I: [pulseaudio] resampler.c: Choosing speex quality setting 3.
> > 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
> > I: [pulseaudio] sink-input.c:     media.role = "stream"
> > I: [pulseaudio] sink-input.c:     media.name = "RTP Stream (PulseAudio
> RTP Stream on linuxbox)"
> > I: [pulseaudio] sink-input.c:     rtp.session = "PulseAudio RTP Stream
> on linuxbox"
> > I: [pulseaudio] sink-input.c:     rtp.origin = "MYNAME 3635426253 0 IN
> IP4 SERVERIP"
> > I: [pulseaudio] sink-input.c:     rtp.payload = "127"
> > I: [pulseaudio] sink-input.c:     module-stream-restore.id =
> "sink-input-by-media-role:stream"
> > I: [pulseaudio] module-rtp-recv.c: New session 'PulseAudio RTP Stream on
> linuxbox'
> >
> >
>
> _______________________________________________
> pulseaudio-discuss mailing list
> pulseaudio-discuss at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20150321/610d2314/attachment-0001.html>


More information about the pulseaudio-discuss mailing list