Apparent sndio issue with underruns on OpenBSD?

From: Mike Brady <mikebradydublin_at_icloud.com>
Date: Sun, 23 Feb 2020 11:17:15 +0000
Hi there. I'm the principal developer of Shairport Sync, an Apple AirPlay 1 "server" -- a program that accepts audio from a "client" such as iTunes and directs it to an audio output. It runs on OpenBSD and FreeBSD using the sndio system using a "backend" that takes commands and audio from Shairport Sync and directs them to the sndio subsystem. (It also runs on Linux using ALSA and others). 

I am writing because while Shairport Sync works well on FreeBSD it is crashing on OpenBSD (please see https://github.com/mikebrady/shairport-sync/issues/975). I'm testing on an installation of OpenBSD 6.6 in a VMWare Fusion VM on an iMac. AFAIK all the software is up to date with patches, etc. The installation procedure I'm following is at https://github.com/mikebrady/shairport-sync/blob/master/OPENBSD.md.

If I start shairport-sync and play a track from, say, the Music app on the iMac, everything is fine until I switch tracks. It seems (this is me guessing) that underruns occur and that they cause the sndio system to stop responding for about four seconds and then enter an error state, returning an error code of 1 for everything. When I changed the xrun behaviour to SIO_ERROR the program would immediately terminate on those occasions. I wonder if you might be able to offer any suggestions. 

I've pushed a branch called openbsd202002 to the Shairport Sync repository at https://github.com/mikebrady/shairport-sync/ with a few commented-out diagnostics in place.

Kind regards
Mike Brady
Received on Sun Feb 23 2020 - 12:17:15 CET

This archive was generated by hypermail 2.3.0 : Tue Aug 09 2022 - 16:23:48 CEST