Jump to content

Orange Pi Zero Buffer underrun while playing music with MPD and Pulseaudio


rwiebe

Recommended Posts

I'm trying to set up one of my Orange PI Zero to be a MPD Player and in parallel to play streams from other devices over network. The streams are provided by a Ubuntu desktop PC and and a Librelec PC.

The Orange Pi Zero is running Armbian 5.38 with Kernel 4.14.18.

 

I tried the last days two solutions:

  1. ALSA dmix plugin playing everything except network streams and Pulseaudio for nework streams
  2. Playing everything through Pulseaudio in system mode

The first solution failed as the dmix plugin in ALSA has poor performance and causes regularly high CPU load resulting in broken audio playback with MPD

The second solution seemed to be better suitable, but Pulseaudio crashes because of an underrun when using MPD as playback device. Network streams from other Linux PCs work properly.

From the Pulseaudio debug messages I cannot see what may be the issue.(see below)

 

Normally I would think this is a Pulseaudio or MPD issue, but then I switched to a Banana PI having the A20 equipped and everything worked well. Same Armbian and kernel version, same configurations for ALSA and Pulseaudio.  

To be sure it is not a codec issue I tried an USB sound card. This worked well on the Banana Pi with ALSA and Pulseaudio+MPD, but not on the Orange Pi Zero. There Pulseadudio stopps also with underrun error. 

 

So I think this seems to be an issue related to the Orange PI Zero. Hopefully someone can give me a workaround to solve this issue because I have 3 devices working with ALSA only which I want to upgrade with network stream support.

D: [alsa-sink-CDC PCM Codec-0] alsa-sink.c: Latency set to 24,99ms
D: [alsa-sink-CDC PCM Codec-0] alsa-sink.c: hwbuf_unused=348396
D: [alsa-sink-CDC PCM Codec-0] alsa-sink.c: setting avail_min=87542
D: [alsa-sink-CDC PCM Codec-0] protocol-native.c: Requesting rewind due to end of underrun.
D: [alsa-sink-CDC PCM Codec-0] alsa-sink.c: Requested to rewind 352800 bytes.
D: [alsa-sink-CDC PCM Codec-0] alsa-sink.c: Limited to 3764 bytes.
D: [alsa-sink-CDC PCM Codec-0] alsa-sink.c: before: 941
D: [alsa-sink-CDC PCM Codec-0] alsa-sink.c: after: 941
D: [alsa-sink-CDC PCM Codec-0] alsa-sink.c: Rewound 3764 bytes.
D: [alsa-sink-CDC PCM Codec-0] sink.c: Processing rewind...
D: [alsa-sink-CDC PCM Codec-0] sink-input.c: Have to rewind 3764 bytes on render memblockq.
D: [alsa-sink-CDC PCM Codec-0] sink-input.c: Have to rewind 3764 bytes on render memblockq.
D: [alsa-sink-CDC PCM Codec-0] sink-input.c: Have to rewind 3764 bytes on render memblockq.
D: [alsa-sink-CDC PCM Codec-0] source.c: Processing rewind...
Killed

 

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines