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

David Martinez david at sojournmusic.net
Fri Mar 27 11:53:08 PDT 2015


Okay, on someone's recommendation, I removed the existing version of
pulseaudio (2, I think) and compiled a fresh one (5.99.3). Pulse seems to
attempt to use the hifiberry, but I still get the following error:

I: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] alsa-sink.c: Starting
playback.
I: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] (alsa-lib)pcm_hw.c:
SNDRV_PCM_IOCTL_START failed (-77)

What exactly does this mean? Sorry for the newbie questions.

Below is my pulseaudio -vvv output

pi at musicplayer1 ~ $ pulseaudio -vvv
W: [pulseaudio] caps.c: Normally all extra capabilities would be dropped
now, but that's impossible because PulseAudio was built without
capabilities support.
I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation
not permitted
D: [pulseaudio] core-rtclock.c: Timer slack is set to 50 us.
I: [pulseaudio] core-util.c: Failed to acquire high-priority scheduling:
Permission denied
I: [pulseaudio] main.c: This is PulseAudio 5.99.3
D: [pulseaudio] main.c: Compilation host: armv6l-unknown-linux-gnueabihf
D: [pulseaudio] main.c: Compilation CFLAGS: -g -O2 -Wall -W -Wextra -pipe
-Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef
-Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security
-Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self
-Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes
-Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow
-Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings
-Wno-unused-parameter -ffast-math -fno-common -fdiagnostics-show-option
D: [pulseaudio] main.c: Running on host: Linux armv6l 3.18.7+ #755 PREEMPT
Thu Feb 12 17:14:31 GMT 2015
D: [pulseaudio] main.c: Found 1 CPUs.
I: [pulseaudio] main.c: Page size is 4096 bytes
D: [pulseaudio] main.c: Compiled with Valgrind support: no
D: [pulseaudio] main.c: Running in valgrind mode: no
D: [pulseaudio] main.c: Running in VM: no
D: [pulseaudio] main.c: Optimized build: yes
D: [pulseaudio] main.c: FASTPATH defined, only fast path asserts disabled.
I: [pulseaudio] main.c: Machine ID is musicplayer1.
I: [pulseaudio] main.c: Using runtime directory
/home/pi/.pulse/musicplayer1-runtime.
I: [pulseaudio] main.c: Using state directory /home/pi/.pulse.
I: [pulseaudio] main.c: Using modules directory
/usr/local/lib/pulse-5.99/modules.
I: [pulseaudio] main.c: Running in system mode: no
I: [pulseaudio] main.c: Fresh high-resolution timers available! Bon appetit!
D: [pulseaudio] memblock.c: Using shared memory pool with 1024 slots of
size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is
65496
D: [pulseaudio] memblock.c: Using shared memory pool with 1024 slots of
size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is
65496
I: [pulseaudio] cpu-arm.c: CPU flags: V6 V7 VFP EDSP
I: [pulseaudio] svolume_arm.c: Initialising ARM optimized volume functions.
I: [pulseaudio] module-device-restore.c: Successfully opened database file
'/home/pi/.pulse/musicplayer1-device-volumes'.
I: [pulseaudio] module.c: Loaded "module-device-restore" (index: #0;
argument: "").
I: [pulseaudio] module-stream-restore.c: Successfully opened database file
'/home/pi/.pulse/musicplayer1-stream-volumes'.
I: [pulseaudio] module.c: Loaded "module-stream-restore" (index: #1;
argument: "").
I: [pulseaudio] module-card-restore.c: Successfully opened database file
'/home/pi/.pulse/musicplayer1-card-database'.
I: [pulseaudio] module.c: Loaded "module-card-restore" (index: #2;
argument: "").
I: [pulseaudio] module.c: Loaded "module-augment-properties" (index: #3;
argument: "").
D: [pulseaudio] module.c: Checking for existence of
'/usr/local/lib/pulse-5.99/modules/module-udev-detect.so': failure
W: [pulseaudio] module.c: module-detect is deprecated: Please use
module-udev-detect instead of module-detect!
D: [pulseaudio] conf-parser.c: Parsing configuration file
'/usr/local/share/pulseaudio/alsa-mixer/profile-sets/default.conf'
D: [pulseaudio] alsa-util.c: Checking for superset analog-stereo (front:%f)
D: [pulseaudio] alsa-util.c: Trying front:0 with SND_PCM_NO_AUTO_FORMAT ...
I: [pulseaudio] (alsa-lib)conf.c: Unknown parameters 0
I: [pulseaudio] (alsa-lib)pcm.c: Unknown PCM front:0
I: [pulseaudio] alsa-util.c: Error opening PCM device front:0: Invalid
argument
D: [pulseaudio] alsa-util.c: Trying hw:0 with SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open hw:0
D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 2972 ms
D: [pulseaudio] alsa-util.c: Set buffer size first (to 4408 samples),
period size second (to 1102 samples).
I: [pulseaudio] alsa-sink.c: Successfully opened device hw:0.
I: [pulseaudio] alsa-sink.c: Selected mapping 'Analog Stereo'
(analog-stereo).
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] alsa-util.c: Successfully attached to mixer 'hw:0'
I: [pulseaudio] sink.c: Created sink 0 "alsa_output.0.analog-stereo" 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.string = "hw:0"
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.profile.name = "analog-stereo"
I: [pulseaudio] sink.c:     device.profile.description = "Analog Stereo"
I: [pulseaudio] sink.c:     device.description = "snd_rpi_hifiberry_dacplus
Analog Stereo"
I: [pulseaudio] sink.c:     device.icon_name = "audio-card-analog"
D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change
event.
I: [pulseaudio] source.c: Created source 0
"alsa_output.0.analog-stereo.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 Analog Stereo"
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)
D: [pulseaudio] alsa-sink.c: hwbuf_unused=0
D: [pulseaudio] alsa-sink.c: setting avail_min=1
D: [pulseaudio] alsa-util.c: snd_pcm_dump():
D: [pulseaudio] alsa-util.c: Hardware PCM card 0
'snd_rpi_hifiberry_dacplus' device 0 subdevice 0
D: [pulseaudio] alsa-util.c: Its setup is:
D: [pulseaudio] alsa-util.c:   stream       : PLAYBACK
D: [pulseaudio] alsa-util.c:   access       : RW_INTERLEAVED
D: [pulseaudio] alsa-util.c:   format       : S16_LE
D: [pulseaudio] alsa-util.c:   subformat    : STD
D: [pulseaudio] alsa-util.c:   channels     : 2
D: [pulseaudio] alsa-util.c:   rate         : 44100
D: [pulseaudio] alsa-util.c:   exact rate   : 44100 (44100/1)
D: [pulseaudio] alsa-util.c:   msbits       : 16
D: [pulseaudio] alsa-util.c:   buffer_size  : 4408
D: [pulseaudio] alsa-util.c:   period_size  : 1102
D: [pulseaudio] alsa-util.c:   period_time  : 24988
D: [pulseaudio] alsa-util.c:   tstamp_mode  : ENABLE
D: [pulseaudio] alsa-util.c:   period_step  : 1
D: [pulseaudio] alsa-util.c:   avail_min    : 1102
D: [pulseaudio] alsa-util.c:   period_event : 1
D: [pulseaudio] alsa-util.c:   start_threshold  : -1
D: [pulseaudio] alsa-util.c:   stop_threshold   : 1155530752
D: [pulseaudio] alsa-util.c:   silence_threshold: 0
D: [pulseaudio] alsa-util.c:   silence_size : 0
D: [pulseaudio] alsa-util.c:   boundary     : 1155530752
D: [pulseaudio] alsa-util.c:   appl_ptr     : 0
D: [pulseaudio] alsa-util.c:   hw_ptr       : 0
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] alsa-sink.c: Thread
starting up
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] core-util.c:
SCHED_RR|SCHED_RESET_ON_FORK worked.
I: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] core-util.c: Successfully
enabled SCHED_RR scheduling for thread, with priority 5.
I: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] alsa-sink.c: Starting
playback.
I: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] (alsa-lib)pcm_hw.c:
SNDRV_PCM_IOCTL_START failed (-77)
D: [pulseaudio] module-device-restore.c: Could not set format on sink
alsa_output.0.analog-stereo
D: [pulseaudio] flist.c: pulsecore/idxset.c: entries flist is full (don't
worry)
D: [pulseaudio] flist.c: pulsecore/idxset.c: entries flist is full (don't
worry)
D: [pulseaudio] flist.c: pulsecore/idxset.c: entries flist is full (don't
worry)
D: [pulseaudio] flist.c: pulsecore/idxset.c: entries flist is full (don't
worry)
D: [pulseaudio] flist.c: pulsecore/idxset.c: entries flist is full (don't
worry)
D: [pulseaudio] flist.c: pulsecore/idxset.c: entries flist is full (don't
worry)
D: [pulseaudio] flist.c: pulsecore/idxset.c: entries flist is full (don't
worry)
D: [pulseaudio] flist.c: pulsecore/idxset.c: entries flist is full (don't
worry)
D: [pulseaudio] flist.c: pulsecore/idxset.c: entries flist is full (don't
worry)
D: [pulseaudio] flist.c: pulsecore/idxset.c: entries flist is full (don't
worry)
D: [pulseaudio] flist.c: pulsecore/idxset.c: entries flist is full (don't
worry)
I: [pulseaudio] module.c: Loaded "module-alsa-sink" (index: #5; argument:
"device_id=0").
I: [pulseaudio] module-detect.c: loaded 1 modules.
I: [pulseaudio] module.c: Loaded "module-detect" (index: #4; argument: "").
D: [pulseaudio] module.c: Checking for existence of
'/usr/local/lib/pulse-5.99/modules/module-esound-protocol-unix.so': success
I: [pulseaudio] module.c: Loaded "module-esound-protocol-unix" (index: #6;
argument: "").
W: [pulseaudio] authkey.c: Failed to open cookie file
'/home/pi/.config/pulse/cookie': No such file or directory
W: [pulseaudio] authkey.c: Failed to load authentication key
'/home/pi/.config/pulse/cookie': No such file or directory
I: [pulseaudio] module.c: Loaded "module-native-protocol-unix" (index: #7;
argument: "").
I: [pulseaudio] module.c: Loaded "module-rtp-recv" (index: #8; argument:
"").
D: [pulseaudio] module.c: Checking for existence of
'/usr/local/lib/pulse-5.99/modules/module-gconf.so': failure
D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change
event.
I: [pulseaudio] module-default-device-restore.c: Restored default sink
'alsa_output.0.analog-stereo'.
D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change
event.
I: [pulseaudio] module-default-device-restore.c: Restored default source
'alsa_output.0.analog-stereo.monitor'.
I: [pulseaudio] module.c: Loaded "module-default-device-restore" (index:
#9; argument: "").
I: [pulseaudio] module.c: Loaded "module-rescue-streams" (index: #10;
argument: "").
I: [pulseaudio] module.c: Loaded "module-always-sink" (index: #11;
argument: "").
I: [pulseaudio] module.c: Loaded "module-intended-roles" (index: #12;
argument: "").
D: [pulseaudio] module-suspend-on-idle.c: Sink alsa_output.0.analog-stereo
becomes idle, timeout in 5 seconds.
I: [pulseaudio] module.c: Loaded "module-suspend-on-idle" (index: #13;
argument: "").
D: [pulseaudio] module.c: Checking for existence of
'/usr/local/lib/pulse-5.99/modules/module-console-kit.so': failure
D: [pulseaudio] module.c: Checking for existence of
'/usr/local/lib/pulse-5.99/modules/module-systemd-login.so': failure
I: [pulseaudio] module.c: Loaded "module-position-event-sounds" (index:
#14; argument: "").
D: [pulseaudio] module-role-cork.c: Using role 'phone' as trigger role.
D: [pulseaudio] module-role-cork.c: Using roles 'music' and 'video' as cork
roles.
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: "").
D: [pulseaudio] module.c: Checking for existence of
'/usr/local/lib/pulse-5.99/modules/module-dbus-protocol.so': failure
I: [pulseaudio] module.c: Loaded "module-switch-on-port-available" (index:
#18; argument: "").
I: [pulseaudio] main.c: Daemon startup complete.
I: [pulseaudio] module.c: Unloading "module-detect" (index: #4).
I: [pulseaudio] module.c: Unloaded "module-detect" (index: #4).
D: [pulseaudio] core-subscribe.c: Dropped redundant event due to remove
event.
D: [pulseaudio] module-stream-restore.c: Not restoring device for stream
sink-input-by-media-role:stream, because already set to
'alsa_output.0.analog-stereo'.
D: [pulseaudio] module-intended-roles.c: Not setting device for stream RTP
Stream (PulseAudio RTP Stream on linuxbox), because already set.
D: [pulseaudio] sink-input.c: Negotiated format: pcm, format.sample_format
= "\"s16be\""  format.rate = "48000"  format.channels = "2"
D: [pulseaudio] module-suspend-on-idle.c: Sink alsa_output.0.analog-stereo
becomes busy, resuming.
D: [pulseaudio] module-suspend-on-idle.c: Sink alsa_output.0.analog-stereo
becomes idle, timeout in 5 seconds.
D: [pulseaudio] resampler.c: Resampler:
D: [pulseaudio] resampler.c:   rate 48000 -> 44100 (method trivial)
D: [pulseaudio] resampler.c:   format s16be -> s16le (intermediate s16le)
D: [pulseaudio] resampler.c:   channels 2 -> 2 (resampling 2)
D: [pulseaudio] memblockq.c: memblockq requested: maxlength=33554432,
tlength=0, base=4, prebuf=0, minreq=1 maxrewind=0
D: [pulseaudio] memblockq.c: memblockq sanitized: maxlength=33554432,
tlength=33554432, base=4, prebuf=0, minreq=4 maxrewind=0
I: [pulseaudio] sink-input.c: Created input 0 "RTP Stream (PulseAudio RTP
Stream on linuxbox)" on alsa_output.0.analog-stereo 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 = "dave 3636468722 0 IN IP4
10.99.10.14"
I: [pulseaudio] sink-input.c:     rtp.payload = "127"
I: [pulseaudio] sink-input.c:     module-stream-restore.id =
"sink-input-by-media-role:stream"
D: [pulseaudio] memblockq.c: memblockq requested: maxlength=41943040,
tlength=41943040, base=4, prebuf=76808, minreq=0 maxrewind=0
D: [pulseaudio] memblockq.c: memblockq sanitized: maxlength=41943040,
tlength=41943040, base=4, prebuf=76808, minreq=4 maxrewind=0
I: [pulseaudio] module-rtp-recv.c: New session 'PulseAudio RTP Stream on
linuxbox'
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] module-rtp-recv.c:
Requesting rewind due to end of underrun
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] alsa-sink.c: Requested to
rewind 17632 bytes.
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] alsa-sink.c: Limited to
17264 bytes.
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] alsa-sink.c: before: 4316
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] alsa-sink.c: after: 4316
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] alsa-sink.c: Rewound
17264 bytes.
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] sink.c: Processing
rewind...
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] sink-input.c: Have to
rewind 17264 bytes on render memblockq.
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] source.c: Processing
rewind...
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] module-rtp-recv.c:
Updating sample rate
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] module-rtp-recv.c:
wi=5006666 ri=4700000
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] module-rtp-recv.c: Write
index deviates by 409.51 ms, expected 500.00 ms
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] module-rtp-recv.c:
Estimated target rate: 47147 Hz, using average of 44161 Hz  (α=0.020)
I: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] module-rtp-recv.c: New
rate of 43961 Hz not within 2‰ of 48000 Hz, forcing smaller adjustment
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] module-rtp-recv.c:
Updated sampling rate to 47904 Hz.
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] module-rtp-recv.c:
Updating sample rate
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] module-rtp-recv.c:
wi=10033400 ri=9712758
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] module-rtp-recv.c: Write
index deviates by 421.14 ms, expected 500.00 ms
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] module-rtp-recv.c:
Estimated target rate: 48016 Hz, using average of 47245 Hz  (α=0.800)
I: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] module-rtp-recv.c: New
rate of 47058 Hz not within 2‰ of 47904 Hz, forcing smaller adjustment
D: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] module-rtp-recv.c:
Updated sampling rate to 47808 Hz.
​
​
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20150327/7191444c/attachment-0001.html>


More information about the pulseaudio-discuss mailing list